Skip to content

πŸͺ„ ν”Œλ ˆμ΄νŽ˜μ–΄ μ•”ν˜Έν™” 및 λ³΅ν˜Έν™” ν”„λ‘œκ·Έλž¨ C++ 및 Python

Notifications You must be signed in to change notification settings

NE7K/PlayFair-Encryption-and-Decryption

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ ν”Œλ ˆμ΄νŽ˜μ–΄ μ•”ν˜Έν™” 및 λ³΅ν˜Έν™” - C++

μœ„ ν”„λ‘œκ·Έλž¨μ€ main.cpp, Playfair.h, Playfair.cpp둜 κ΅¬μ„±λ©λ‹ˆλ‹€.

main.cppλŠ” μ‚¬μš©μžκ°€ μ„€μ •ν•œ 킀와 문자 μŒμ„ 기반으둜 Playfair 객체λ₯Ό μƒμ„±ν•˜κ³ , μ•”ν˜Έν™” ν…Œμ΄λΈ”μ„ λ§Œλ“  λ’€ μž…λ ₯ λ¬Έμžμ—΄μ„ μ•”ν˜Έν™”ν•˜μ—¬ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.

Playfair.hλŠ” Playfair 클래슀의 선언을 ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 킀와 문자 쌍 그리고 μ•”ν˜Έν™” ν…Œμ΄λΈ”μ„ κ΄€λ¦¬ν•˜λŠ” λ³€μˆ˜λ₯Ό μ •μ˜ν•΄λ†“μ•˜μœΌλ©°, 생성 및 좜λ ₯을 λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

Playfair.cppλŠ” ν…Œμ΄λΈ” 생성은 μž…λ ₯된 킀와 문자 μŒμ„ 기반으둜 쀑볡 μ œκ±°μ™€ μ•ŒνŒŒλ²³ 보좩을 톡해 이루어지며, μ•”ν˜Έν™”λŠ” κ·œμΉ™μ— 따라 μž…λ ₯ λ¬Έμžμ—΄μ„ λ³€ν™˜ν•©λ‹ˆλ‹€.

참고사항
makeTable()은 킀와 문자 μŒμ„ 기반으둜 쀑볡 제거 ν›„ μ•ŒνŒŒλ²³ μΆ”κ°€ν•΄ ν…Œμ΄λΈ” 생성
makeEncryption()은 μ•”ν˜Έν™”λœ 문자 λ°˜ν™˜


πŸ§‘β€πŸ’» μ‹€ν–‰ ν™”λ©΄ 및 κ²°κ³Ό

Image

ν‚€ : test
쌍 : a/c
μ•”ν˜Έν™”ν•˜λ €λŠ” λ¬Έμž₯ 및 단어 : hello


πŸ“ ν”Œλ ˆμ΄νŽ˜μ–΄ μ•”ν˜Έν™” 및 λ³΅ν˜Έν™” - Python

1. 원문을 ν†΅ν•΄μ„œ ν‚€ 값을 μƒμ„±ν•˜κ³  개수λ₯Ό νŒŒμ•…ν•˜λŠ” μ†ŒμŠ€

β€˜μ•”ν˜Έλ¬Έβ€™κ³Ό β€˜ν‚€ 값’ νŒŒμΌμ„ μƒμ„±ν•˜λŠ”λ° κΌ­ ν•„μš”ν•œ 기본적인 재료인 원문 λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ μ•ŒνŒŒλ²³λ³„λ‘œ 문자λ₯Ό 읽어와 각 문자의 개수λ₯Ό νŒŒμ•…ν•˜κ³  원문_ν‚€κ°’.txt에 μ €μž₯λ˜λ„λ‘ μ½”λ”©ν–ˆμŠ΅λ‹ˆλ‹€.

λ“±μž₯ 횟수λ₯Ό 계산 ν›„ μ •λ ¬ν•˜μ—¬ μ‚¬μš©ν–ˆμ§€λ§Œ, 직접 λ¦¬μŠ€νŠΈμ—μ„œ μ΅œμ†Œκ°’μ„ 반볡 νƒμƒ‰ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ½”λ”©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

Image


2. 원문 ν‚€ 값을 읽어와 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ ν›„ μ•”ν˜Έλ¬ΈμœΌλ‘œ λ³€κ²½ν•˜λŠ” μ†ŒμŠ€

μ •λ ¬λœ μ•ŒνŒŒλ²³μ„ 맀핑해 μ•”ν˜Έν™”ν–ˆμ§€λ§Œ, 원문을 ν‚€ κ°’κ³Ό λŒ€μ‘°ν•΄ μ•ŒνŒŒλ²³μ„ λ³€ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Image


3. μ•”ν˜Έλ¬Έ ν‚€ 값을 μ½μ–΄μ™€μ„œ λ‹€μ‹œ 원문을 볡원 μ‹œν‚€λŠ” μ†ŒμŠ€

λ³΅ν˜Έν™” 방식은 λ”•μ…”λ„ˆλ¦¬ 기반으둜 λ³΅ν˜Έν™”ν•  μˆ˜λ„ μžˆμ§€λ§Œ, 리슀트 탐색을 ν†΅ν•΄μ„œ μ•ŒνŒŒλ²³μ„ 볡원할 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

Image

About

πŸͺ„ ν”Œλ ˆμ΄νŽ˜μ–΄ μ•”ν˜Έν™” 및 λ³΅ν˜Έν™” ν”„λ‘œκ·Έλž¨ C++ 및 Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published