본문 바로가기

Cryptography16

RABIN, ElGamel 암호 RABIN 암호 RSA 암호 시스템에서 공개키 𝑒=2로 고정한 경우 키생성 1. 𝑘∈ℤ, 4𝑘+3인 서로 다른 두 소수 𝑝와 𝑞를 선택 2. 𝑛=𝑝×𝑞 3. (𝑝,𝑞) 개인키,, 𝑛 공개키 암호화 𝑐 ≡ 𝑚^2 (mod 𝑛) 복호화 복호화 (𝑝와 𝑞가 4𝑘+3형태임을 이용) 𝑎1≡𝑐_1^((𝑝+1)/4) (mod 𝑝), 𝑎2≡−𝑐_1^((𝑝+1)/4) (mod 𝑝) 𝑏1≡𝑐_2^((𝑞+1)/4) (mod 𝑞), 𝑏2≡−𝑐_2^((𝑞+1)/4) (mod 𝑞) CRT를 이용 𝑃1=CRT(𝑎1,𝑏1,𝑝,𝑞), 𝑃2=CRT(𝑎1,𝑏2,𝑝,𝑞), 𝑃3=CRT(𝑎2,𝑏1,𝑝,𝑞), 𝑃4=CRT(𝑎2,𝑏2,𝑝,𝑞) {𝑃1,𝑃2,𝑃3,𝑃4} 중 하나가 평문 예시 키 생성 4𝑘+3의 형태인 𝑝=7과 𝑞=11 𝑛=𝑝×𝑞=.. 2023. 12. 8.
암호학을 위한 기본 수학 지식 암호학 수업이 있어서 공부를 하려는데 수학 지식이 없어서 조금씩 포스팅 하려고 한다. RSA는 어느 정도 알지만 RABIN 암호와 ElGamal 암호를 공부하다가 수학 지식이 없어서 공부하고 다시 도전하려고 한다. 1. 소인수 분해 문제 432 = 2*2*2*2*3*3*3 인데 소인수를 다항식 시간 안에 찾는 알고리즘은 아직까지 존재하지 않아서 풀기 어렵다고 한다. 2. 이산 대수 문제 y = g^x (mod p) 에서 y, g, p 3가지가 주어져도 x를 다항식 시간 안에 구하는 알고리즘이 존재하지 않는다. NP 문제이다. 3. 페르마의 소정리 p가 소수이면 어떤 a에 대해서 아래 식이 성립한다. a^(p-1) = 1 (mod p) 4. 중국인의 나머지 정리 x = 1 (mod 5), x = 0 (mo.. 2023. 12. 2.
[HackCTF] RSA3 n = 1028368183919327612609718944943180446976194009529547188839823444747945496628476390294025726227089621860288559184921932929541605419723432688177974726350198246510295750856370543263395065136049296315137438761907065670455497199264902285828668624447745851821981134394020801692293757064321632911442759600838060761309348177789426158422776514969974364573431738334820199774855665674921103595171075936365.. 2021. 10. 16.
[AES 개념] AES 알고리즘 AES 알고리즘은 표준으로 선정된 이후부터 지금까지, AES에는 기밀성을 위협하는 치명적인 취약점이 발견되지 않았습니다. 또한 CPU 제조사들이 AES 연산을 위한 명령어를 따로 정의해 주어서 암호화, 복호화의 성능도 뛰어납니다. 이런 이유로 현대에는 대칭키 암호 알고리즘을 사용할 때, 일반적으로 AES가 사용됩니다. AES 구조 AES는 라운드마다 128비트 크기의 블록을 암호화하는 블록 암호입니다. AES는 암호화를 할 때, 가장 먼저 각 블록을 4행 4열의 상태 배열(State)로 재구성합니다. State의 각 칸에는 8비트(1바이트)가 저장됩니다. 입력 1F3CF203B211C5AA6EB27A45E4D98130은 다음과 같은 state로 재구성됩니다. +============+ |.. 2021. 10. 12.
[RSA 개념] RSA RSA 암호 알고리즘은 공개키 암호시스템의 하나로, 전자 거래, 금융 거래, 인증서 등 다양한 분야에서 가장 보편적으로 사용되는 암호 및 인증 알고리즘입니다. RSA는 암복호화 과정에서 AES를 비롯한 대칭키 암호 알고리즘보다 훨씬 많은 연산을 필요로 합니다. 따라서 많은 데이터를 여러 번 암호화해야 하는 네트워크 통신에서는 잘 사용되지 않습니다. RSA는 알고리즘을 창시한 Rivert, Shamir, Adleman 3명의 이름을 따서 RSA 알고리즘이 만들어졌습니다. 예시) 1. 밥은 두 개의 소수를 고른 후 곱한다. ex) p=17,159, q=10,247 p * q = N = 175,828,273 -> 공개 열쇠 2. 앨리스는 밥의 공개 열쇠 N을 자신의 일방향 함수에 넣어서 계산한 뒤 밥에.. 2021. 10. 12.
[HackCTF] Classic Cipher -3 FqyeYBX{Yv4kk1y_Y1lfgt_1k_jgti_g4ki_1x91cqx14x} 암호는 위와 같고 힌트는 없다. 찾아보니 아핀암호라는데 자세히 공부할 생각은 없다. https://www.dcode.fr/affine-cipher 위 사이트에 접속하면 해독할 수 있다. 2021. 10. 9.
[HackCTF] Classic Cipher -4 암호는 아래와 같습니다. ◆□ &↔↙■◀→○↔☆■●↙, ☆ 〓★#〓◀◆◀★◀◆→□ &◆■●§↔ ◆〓 ☆ ◎§◀●→@ →※ §□&↔↙■◀◆□○ #↙ ♩●◆&● ★□◆◀〓 →※ ■▼☆◆□◀§♪◀ ☆↔§ ↔§■▼☆&§@ ♩◆◀● &◆■●§↔◀§♪◀, ☆&&→↔@◆□○ ◀→ ☆ ※◆♪§@ 〓↙〓◀§◎; ◀●§ "★□◆◀〓" ◎☆↙ #§ 〓◆□○▼§ ▼§◀◀§↔〓 (◀●§ ◎→〓◀ &→◎◎→□), ■☆◆↔〓 →※ ▼§◀◀§↔〓, ◀↔◆■▼§◀〓 →※ ▼§◀◀§↔〓, ◎◆♪◀★↔§〓 →※ ◀●§ ☆#→♬§, ☆□@ 〓→ ※→↔◀●. ◀●§ ↔§&§◆♬§↔ @§&◆■●§↔〓 ◀●§ ◀§♪◀ #↙ ■§↔※→↔◎◆□○ ◀●§ ◆□♬§↔〓§ 〓★#〓◀◆◀★◀◆→□. 〓★#〓◀◆◀★◀◆→□ &◆■●§↔〓 &☆□ #§ &→◎.. 2021. 10. 6.
[HackCTF] RSA2 (n, c) = 675517326695494061190287679557796696358902817969424171685361, 0xe3712876ea77c308083ef596a32c5ce2d7edf22abbc58657e 문제에서 주어진 값은 n과 c이다. n은 소수 p와 q를 곱한 값이므로 소인수분해를 통해 p와 q를 구할 수 있다. 소인수분해 사이트는 다음과 같다. http://www.factordb.com/index.php? 결과 -> 6755173266...61 = 804811499343607200702893651293 · 839348502408870119614692320677 따라서 p=804811499343607200702893651293, q=8393485024088701196146923206.. 2021. 9. 19.
[HackCTF] RSA RSA 알고리즘을 이용하여 값을 해독해보자! 파일에 나와있는 c, p, q, e 는 RSA 대한 파라미터 값이다. p = 165500656692790480820099871308511495889550056248884963056391533737398719640777027536552348753003910353538512236389328276408434154714592616388810121411482595574799223632695324557638432891315001647024573557093357114908462069403023829967780936191142143068307535312844772151507357729244716123687935330409738850181 q = 1221414385757704.. 2021. 9. 19.