분류 전체보기
-
Manyprime 문제 1개의 주요 인자를 사용하는 것은 분명 좋지 않은 생각이었기 때문에 대신 30개 이상을 사용해 보겠습니다. 💡인수 분해에 시간이 오래 걸리는 경우 인수 분해 알고리즘을 읽어보고 이 시나리오에 최적화된 알고리즘을 사용하는지 확인합니다. 풀이 더보기 일단 n의 값들이 여러 소수가 있는것을 확인할 수 있다. 개인키 구하는 방법은 일단 n에서 나온 소수들을 p라고 하면 개인키는 (p1 -1)*(p2-1)*(p3-1).......(pn-1)이기에 이를 이용하여 평문값을 구하게 된다면 from Crypto.Util.number import long_to_bytes n = 58064239189884319292956385687089779965088315271876176293229248225215..
[Cryptohack] RSA (Manyprime, Salty)Manyprime 문제 1개의 주요 인자를 사용하는 것은 분명 좋지 않은 생각이었기 때문에 대신 30개 이상을 사용해 보겠습니다. 💡인수 분해에 시간이 오래 걸리는 경우 인수 분해 알고리즘을 읽어보고 이 시나리오에 최적화된 알고리즘을 사용하는지 확인합니다. 풀이 더보기 일단 n의 값들이 여러 소수가 있는것을 확인할 수 있다. 개인키 구하는 방법은 일단 n에서 나온 소수들을 p라고 하면 개인키는 (p1 -1)*(p2-1)*(p3-1).......(pn-1)이기에 이를 이용하여 평문값을 구하게 된다면 from Crypto.Util.number import long_to_bytes n = 58064239189884319292956385687089779965088315271876176293229248225215..
2023.05.18 -
Monoprime 문제 왜 모든 사람들이 RSA를 위해 두 소수를 곱하는 데 집착합나요. 그냥 하나만 사용하는 게 어때요? 풀이 더보기 먼저 n의 값이 factordb통해 알아보았다. n의 상태는 P이고, n은 소수이다. 이때 오일러의 피함수를 보게 된다면 단일 소수, 즉 모노프라임 인 경우의 오일러의 피함수의 작동원리가 n-1이기 때문에 개인키의 값은 n-1이다. from Crypto.Util.number import long_to_bytes n = 17173137121806544412548253630224591541560331838028039238529183647229975274793460724647750850782728407576391026499532601025126849363050198981085..
[Cryptohack] RSA (Monoprime, Square Eyes)Monoprime 문제 왜 모든 사람들이 RSA를 위해 두 소수를 곱하는 데 집착합나요. 그냥 하나만 사용하는 게 어때요? 풀이 더보기 먼저 n의 값이 factordb통해 알아보았다. n의 상태는 P이고, n은 소수이다. 이때 오일러의 피함수를 보게 된다면 단일 소수, 즉 모노프라임 인 경우의 오일러의 피함수의 작동원리가 n-1이기 때문에 개인키의 값은 n-1이다. from Crypto.Util.number import long_to_bytes n = 17173137121806544412548253630224591541560331838028039238529183647229975274793460724647750850782728407576391026499532601025126849363050198981085..
2023.05.17 -
Factoring 문제 지금까지 계수에 작은 소수의 제품을 사용해 왔지만, 작은 소수는 최신 방법을 사용하여 인수 분해할 수 있기 때문에 RSA에 그다지 좋지 않습니다. "작은 소수"란 무엇입니까? RSA 모듈리를 인수할 수 있는 팀에게 상금이 수여되는 RSA Factoring Challenge가 있었습니다. 이를 통해 대중은 다양한 키 크기가 얼마나 오랫동안 안전하게 유지될 수 있는지에 대한 통찰력을 얻을 수 있었습니다. 컴퓨터는 더 빨라지고 알고리즘은 더 좋아지기 때문에 암호학에서는 항상 주의를 기울이는 편이 신중합니다. 요즘에는 최소 1024비트 길이의 소수를 사용하는 것이 좋습니다. 이러한 1024비트 소수 두 개를 곱하면 2048비트의 계수가 됩니다. 2048비트 계수의 RSA를 RSA-2048..
[Cryptohack] RSA (Factoring, Inferius Prime)Factoring 문제 지금까지 계수에 작은 소수의 제품을 사용해 왔지만, 작은 소수는 최신 방법을 사용하여 인수 분해할 수 있기 때문에 RSA에 그다지 좋지 않습니다. "작은 소수"란 무엇입니까? RSA 모듈리를 인수할 수 있는 팀에게 상금이 수여되는 RSA Factoring Challenge가 있었습니다. 이를 통해 대중은 다양한 키 크기가 얼마나 오랫동안 안전하게 유지될 수 있는지에 대한 통찰력을 얻을 수 있었습니다. 컴퓨터는 더 빨라지고 알고리즘은 더 좋아지기 때문에 암호학에서는 항상 주의를 기울이는 편이 신중합니다. 요즘에는 최소 1024비트 길이의 소수를 사용하는 것이 좋습니다. 이러한 1024비트 소수 두 개를 곱하면 2048비트의 계수가 됩니다. 2048비트 계수의 RSA를 RSA-2048..
2023.05.16 -
RSA STARTER 4 문제 개인 키 d는 해당 공용 키로 작성된 암호 텍스트를 해독하는 데 사용됩니다(메시지에 "서명"하는 데도 사용되지만 나중에 설명하겠습니다). 개인 키는 암호화 기능을 신속하게 반전시킬 수 있는 비밀 정보 또는 "트랩도어"입니다. RSA가 제대로 구현된 경우 개인 키가 없는 경우 암호를 해독하는 가장 빠른 방법은 먼저 계수를 분해하는 것입니다. RSA에서 개인 키는 N의 합계에 대한 지수 모듈의 모듈식 곱셈 역입니다. 두 소수를 고려할 때: p = 8575040833397127524899993810777 q = 1029224947942998075080348647219 지수: e = 65537 개인 키 d는 무엇입니까? 풀이 더보기 RSA에서 개인키는 지수 모듈로서 오일러 피함수의..
[Cryptohack] RSA (RSA STARTER 4, 5, 6)RSA STARTER 4 문제 개인 키 d는 해당 공용 키로 작성된 암호 텍스트를 해독하는 데 사용됩니다(메시지에 "서명"하는 데도 사용되지만 나중에 설명하겠습니다). 개인 키는 암호화 기능을 신속하게 반전시킬 수 있는 비밀 정보 또는 "트랩도어"입니다. RSA가 제대로 구현된 경우 개인 키가 없는 경우 암호를 해독하는 가장 빠른 방법은 먼저 계수를 분해하는 것입니다. RSA에서 개인 키는 N의 합계에 대한 지수 모듈의 모듈식 곱셈 역입니다. 두 소수를 고려할 때: p = 8575040833397127524899993810777 q = 1029224947942998075080348647219 지수: e = 65537 개인 키 d는 무엇입니까? 풀이 더보기 RSA에서 개인키는 지수 모듈로서 오일러 피함수의..
2023.05.15 -
RSA STARTER1 문제 및 설명 RSA의 모든 작업에는 모듈식 지수화가 포함됩니다. 모듈식 지수화는 암호학에서 광범위하게 사용되는 연산이며 일반적으로 다음과 같이 작성된다: 2^10 mod 17 이것은 어떤 수를 특정 거듭제곱(2^10 = 1024)으로 올리고 나머지 수를 다른 수만큼 취하는 것이라고 생각할 수 있다(1024 mod 17 = 4). 파이썬에는 이 작업을 수행하기 위한 기본 연산자가 있습니다: pow(기본, 지수, 계수) RSA에서 모듈식 지수화는 프라임 팩터화 문제와 함께 "트랩도어 기능"을 구축하는 데 도움이 됩니다. 이것은 한 방향으로 계산하기는 쉽지만, 올바른 정보가 없으면 역으로 계산하기가 어려운 함수이다. 그것은 우리가 메시지를 암호화할 수 있게 해주고, 오직 키를 가진 사..
[Cryptohack] RSA (RSA STARTER 1, 2, 3)RSA STARTER1 문제 및 설명 RSA의 모든 작업에는 모듈식 지수화가 포함됩니다. 모듈식 지수화는 암호학에서 광범위하게 사용되는 연산이며 일반적으로 다음과 같이 작성된다: 2^10 mod 17 이것은 어떤 수를 특정 거듭제곱(2^10 = 1024)으로 올리고 나머지 수를 다른 수만큼 취하는 것이라고 생각할 수 있다(1024 mod 17 = 4). 파이썬에는 이 작업을 수행하기 위한 기본 연산자가 있습니다: pow(기본, 지수, 계수) RSA에서 모듈식 지수화는 프라임 팩터화 문제와 함께 "트랩도어 기능"을 구축하는 데 도움이 됩니다. 이것은 한 방향으로 계산하기는 쉽지만, 올바른 정보가 없으면 역으로 계산하기가 어려운 함수이다. 그것은 우리가 메시지를 암호화할 수 있게 해주고, 오직 키를 가진 사..
2023.05.14 -
Modes of Operation Starter 문제 및 설명 이전 일련의 과제는 AES가 데이터 블록에서 키 순열을 수행하는 방법을 보여주었다. 실제로, 우리는 단일 블록보다 훨씬 더 긴 메시지를 암호화해야 한다. 작동 모드는 긴 메시지에서 AES와 같은 암호를 사용하는 방법을 설명합니다. 모든 모드는 잘못 사용하면 심각한 약점이 있습니다. 이 범주의 과제는 API와 상호 작용하고 이러한 약점을 이용할 수 있는 웹 사이트의 다른 섹션으로 이동합니다. 인터페이스를 숙지하고 다음 플래그를 사용하십시오! https://aes.cryptohack.org/block_cipher_starter/ 풀이 더보기 from Crypto.Cipher import AES KEY = ? FLAG = ? @chal.route(..
[CryptoHack] SYMMETRIC CIPHERS(Modes of Operation Starter, Symmetry)Modes of Operation Starter 문제 및 설명 이전 일련의 과제는 AES가 데이터 블록에서 키 순열을 수행하는 방법을 보여주었다. 실제로, 우리는 단일 블록보다 훨씬 더 긴 메시지를 암호화해야 한다. 작동 모드는 긴 메시지에서 AES와 같은 암호를 사용하는 방법을 설명합니다. 모든 모드는 잘못 사용하면 심각한 약점이 있습니다. 이 범주의 과제는 API와 상호 작용하고 이러한 약점을 이용할 수 있는 웹 사이트의 다른 섹션으로 이동합니다. 인터페이스를 숙지하고 다음 플래그를 사용하십시오! https://aes.cryptohack.org/block_cipher_starter/ 풀이 더보기 from Crypto.Cipher import AES KEY = ? FLAG = ? @chal.route(..
2023.05.13