와 저도 이번에 고1로 수학 탐구과제 발표하면서 RSA암호화를 이용했는데 영상으로 만든것을 보니 제가만든 ppt보다 이해가 더 잘되는거같네요 페르마 소정리와 모드 연산을 하며 닮음 기호까지 나와 처음에는 이해하는데 애를 먹기도 하였는데 지금 다시보니 더 확실하게 이해가 되는거같네요
정말 깔끔하게 잘 만든 영상이네요. 2015년에 제작했으니까 이제는 대학생이겠네요? 그런데, 실제로 그런 일이 일어났습니다. 사실 좀 오래된 일이지만, Shor의 소인수분해 알고리즘은 다항 시간에 소인수 분해를 할 수 있어서 RSA 암호 체계가 깨집니다. 다만, 아직 Shor 알고리즘을 수행할 수 있는 양자 컴퓨터가 필요해서 현실에서는 해킹이 불가능해요. 지금도 이 놀라운 능력으로 좋은 공부를 하고 있기를 바랍니다.
영상을 보고 의문이 드는게 두 소수의 곱이 맞나요? 큰 수를 소인수분해하여 두개의 소수를 찾는건 분명 어렵지만 이미 밝혀진 소수 두개의 조합을 찾는건 굉장히 쉬운일 같은데..? 제 생각에는 두 소수의 곱을 사용하는 것이 아니라 그냥 임의의 두 수를 사용하는거지 싶네요..
보통 1024비트 이상의 두 임의의 소수의 곱으로 n값을 만듭니다. 1024비트 정수에는 무수히 많은 소수가 있고 그중에서 랜덤으로 뽑아내서 곱하는건데 이미 알려진 소수 곱 조합보다 알려지지 않은 조합이 훨씬 많습니다. 그래서 결국에는 p, q값을 알아내려면 일반적인 상황에서는 N값을 소인수분해해야 하는데 이게 엄청나게 오래 걸리니까 안전한겁니다.
음 궁금한것이 있는데요 만약에 해커가 d값을 구할때 나머지가 1이 나오는 d값 중 아무 d 값이나 써도 상관없지 않나요? 해커가 d 값을 알아내기 어려운 이유는 (p-1)(q-1)값이 엄청 크다보니깐 d값을 하나씩 1부터 대입해야 되서 어려운거 아닌가요? 같은 고등학생으로써 궁금합니다. ㅠㅠ 사실 제가 아무d값이나 대입해 봤는데 m 값이 똑같이 나오길래 혹시 아시는 분 있으면 알려주세욤
서론에 알고리즘 소개 할 때 소인수분해가 불가능하다가 아니라 '큰' 정수의 소인수 분해가 '어렵다' 라고 했지요. 씨언어든 파이썬이든 암산이든 소인수분해 로직이야 간단하죠. PxQ = N 일 때 N을 2 ~ N-1 만큼 나눠서 나누어 떨어지는지만 보면되니까요. 그러니까 최대 n-2 번만큼 연산해보면 소인수분해는 무조건 성공합니다. 근데 그건 n이 작을 때 얘기고 .. RSA 알고리즘에서 쓰는 N 값의 크기가 대략 '1조'의 50제곱 정도의 크기입니다. 숫자가 너무커서 뭐라고 불러야되는지도 모르겠네요. 1조 자체도 엄청 큰 숫자인데 1조의 50배도 아니고 50제곱입니다. 그니까 예를 들면 10000000000000000000000000000000000000000000000000000000000000 보다 더 큰 숫자입니다. 이 정도로 큰 숫자 님 컴퓨터 파이썬으로 소인수분해 하려면 100년 걸려도 모자랍니다. 그래서 어렵다는거구요 . 소인수분해 프로그램 짜는게 어려운게 아니고 연산시간이 겁나오래걸리니까 '힘들다' 라고 표현하는겁니다
와 저도 이번에 고1로 수학 탐구과제 발표하면서 RSA암호화를 이용했는데 영상으로 만든것을 보니 제가만든 ppt보다 이해가 더 잘되는거같네요 페르마 소정리와 모드 연산을 하며 닮음 기호까지 나와 처음에는 이해하는데 애를 먹기도 하였는데 지금 다시보니 더 확실하게 이해가 되는거같네요
아직 고등학생인데 영상도 잘만들고 암호학적 지식도 훌륭하네요
열심히 공부하셔서 좋은 결과 있기를 바랍니다.
정말 깔끔하게 잘 만든 영상이네요. 2015년에 제작했으니까 이제는 대학생이겠네요? 그런데, 실제로 그런 일이 일어났습니다. 사실 좀 오래된 일이지만, Shor의 소인수분해 알고리즘은 다항 시간에 소인수 분해를 할 수 있어서 RSA 암호 체계가 깨집니다. 다만, 아직 Shor 알고리즘을 수행할 수 있는 양자 컴퓨터가 필요해서 현실에서는 해킹이 불가능해요. 지금도 이 놀라운 능력으로 좋은 공부를 하고 있기를 바랍니다.
암호 알고리즘에 대해 알아 보고 있었는데 설명이 참 매끄럽네요. 도움 많이 됐어요. 감사합니다.
암호기술 관련 보고서에 출처를 남기고 이용합니다. 같은 고등학생이라는게 믿기지 않을 정도로 정말 잘만드셨어요 감사합니다!
정말 설명 잘하시네요... 학교 진로 관련 보고서 쓸려고 찾아봤는데 도움많이 됐습니다.
어떻게 쓰셨는지 알수있을까요
천재님 살려주셔서 감사합니다
우와.. 대단하셔요! 덕분에 이해가 쉬웠습니다.. 고마워요!
훌륭하네요!!! 짝짝짝!!
진짜 대박이네요!!
고등학생인데 이렇게 설명을 잘해 놓다니 아주 좋은 영상 감사합니다
설명 참 잘 해놨어여~ 잘 보고 갑니다. ^^
감사해용❤
저번에 제가 인터넷에서 본적이있죠. RSA를 한국으로 치자면 김이박 이라고...
많은 도움이 됐습니다
어렸을때 공부 열심히안하고 나중에하려니 어렵내여 ㅠㅠ
헐 참고하겠습니다 개잘하셨어요❤
진심 해설영상 개쩔게 잘만드셨어요!!!
D는 나머지가 1인 모든 수가 될 수 있습니다.
마지막 설명은 틀린 것 같네요
와 미쳤다 우리 수학교수님보다 설명 잘하셨네요... 공대생인데 배우고 갑니다. 지금은 뭐하고 계시나요?? 고등학교 때 만든 동영상임에도 영상 센스가 훌륭하셨네요 ㅠㅠ
상반신의사차함수 수의대 학생이요
헬창 농창 대학생이 되었습니다
고등학교 친구입니다. 이 친구 지금 익산에서 술 먹으면서 영상 보고 수의대 간거 후회하는 중입니다
설명 잘하신 것 같아요. 학교에서 수학 잡지만들기 대회하는데 좀 퍼가도 될까요?
진지하게 지금부터라도 정보전달 유튜버 해보시는게 어떠심...?
영상을 보고 의문이 드는게 두 소수의 곱이 맞나요? 큰 수를 소인수분해하여 두개의 소수를 찾는건 분명 어렵지만 이미 밝혀진 소수 두개의 조합을 찾는건 굉장히 쉬운일 같은데..? 제 생각에는 두 소수의 곱을 사용하는 것이 아니라 그냥 임의의 두 수를 사용하는거지 싶네요..
님 바보에요?
@@차돌백이-u3y RSA암호화 이해하시고 지껄이시나요?^^
보통 1024비트 이상의 두 임의의 소수의 곱으로 n값을 만듭니다. 1024비트 정수에는 무수히 많은 소수가 있고 그중에서 랜덤으로 뽑아내서 곱하는건데 이미 알려진 소수 곱 조합보다 알려지지 않은 조합이 훨씬 많습니다. 그래서 결국에는 p, q값을 알아내려면 일반적인 상황에서는 N값을 소인수분해해야 하는데 이게 엄청나게 오래 걸리니까 안전한겁니다.
@@별보러갈래-r8h 아니까 그러겠죠?
바보 맞네
A가 B에게 정보를 보내려고하는데 B가 공개키와 개인키를 만들어서 A에게 주는게 잘 이해가 안되네요......중딩이라그런가..
역시 포스코
와 교수님보다 백번 낫다...
이친구 미쳣드앙
대박이네요 잘보고갑니다~
너무 좋은 영상인데 퍼가도 되겠죠?^^
네이버에 70자리까지 소인수 분해할 수 있는 사이트가 있는데 충분히 크다고 생각이 드는데
RSA에 사용되는 n은 얼마나 큰 건가요
RSA-2048 은 617자리 입니다....
질문있습니다!
Mod 역계산의 어려움을 말씀하셨는데 꼭 비밀키의 d값과 같은d를 찾을필요가 없지 않나요? 그냥 파이n에 대한 나머지가 e와 곱했을때 1이 되는 수라면 어떤수든지 d값의 역활을 대신할 수 있을텐데요..
오 그러네요. 님짱 서울대 가세요
d값은 여러개가 존재할 수 없어요. 베주 항등식과 모듈러 역원을 공부해보시면 왜 하나만 존재할 수 있는지 이해하실 수 있을겁니다.
음 궁금한것이 있는데요 만약에 해커가 d값을 구할때 나머지가 1이 나오는 d값 중 아무 d 값이나 써도 상관없지 않나요? 해커가 d 값을 알아내기 어려운 이유는 (p-1)(q-1)값이 엄청 크다보니깐 d값을 하나씩 1부터 대입해야 되서 어려운거 아닌가요? 같은 고등학생으로써 궁금합니다. ㅠㅠ 사실 제가 아무d값이나 대입해 봤는데 m 값이 똑같이 나오길래 혹시 아시는 분 있으면 알려주세욤
d값은 여러개가 존재할 수 없어요. 베주 항등식과 모듈러 역원을 공부해보시면 왜 하나만 존재할 수 있는지 이해하실 수 있을겁니다.
도움이 많이 되었습니다! 혹시 퍼가도 되나요..
애초에 소인수분해하면 소수 두개밖에 안나오는데 N을 나눌 수 있는 소수 하나만 찾으면 되는 것 아닌가요? 파이썬으로 짜면 충분히 가능할 것 같은데..
그 소수라는게 몇개 없어보이지만 숫자가 하나라도 겹치면 소인수분해가 실패합니다.
하나 더 말씀드리면 위에 예시로 나온 숫자는 정말 짧은 편이며 rsa-2048의 경우 2048자리의 소인수를 해야하는데 컴퓨터로 소인수 분해를 한다해도 1년이상 걸린다고 하더군요.
@@seyirin 겹친다는게 무슨 의미죠..?
일반적인 경우에 RSA 암호를 사용하면 아무리 적어도 1024bit의 소수를 사용하고 대부분의 경우에서는 rsa-2048을 사용해서 2048bit의 소수를 사용하는데 그걸 파이썬으로 짜서 해결하기에는 무리가 있습니다
서론에 알고리즘 소개 할 때 소인수분해가 불가능하다가 아니라
'큰' 정수의 소인수 분해가 '어렵다' 라고 했지요.
씨언어든 파이썬이든 암산이든 소인수분해 로직이야 간단하죠.
PxQ = N 일 때 N을
2 ~ N-1 만큼 나눠서 나누어 떨어지는지만 보면되니까요.
그러니까 최대 n-2 번만큼 연산해보면 소인수분해는 무조건 성공합니다.
근데 그건 n이 작을 때 얘기고 ..
RSA 알고리즘에서 쓰는 N 값의 크기가 대략 '1조'의 50제곱 정도의 크기입니다.
숫자가 너무커서 뭐라고 불러야되는지도 모르겠네요.
1조 자체도 엄청 큰 숫자인데 1조의 50배도 아니고 50제곱입니다.
그니까 예를 들면 10000000000000000000000000000000000000000000000000000000000000 보다 더 큰 숫자입니다.
이 정도로 큰 숫자 님 컴퓨터 파이썬으로 소인수분해 하려면 100년 걸려도 모자랍니다. 그래서 어렵다는거구요 . 소인수분해 프로그램 짜는게 어려운게 아니고 연산시간이 겁나오래걸리니까 '힘들다' 라고 표현하는겁니다
2:20초에 (e*d) mod 0(n) = 1 이 아니라 (e*d) mod n = 1 아닌가요
Mod n 아니고 파이(n) 맞습니다
(영상내용이 맞음)
1921713123 = 4007 X 479589 찾는데 3초걸림
1921713123 = 3 * 11 * 4007 * 14533
P와 Q는 소수이기 때문에 4개의 인수로 나오지 않습니다! 잘못된 예시네요 1921713213은
차피 RSA 암호화는 그렇게 짧은 수를 n은도 사용하지 않습니다
미리 외우고있는게 아닌데도 바로 그렇게 분해가되시는건가요?
근데 영상제작자가 예시를 잘못들었는데 rsa에서 사용하는 n 값은 지금 얘기한 숫자보다 9999999999999999999배 보다도 더 큽니다. 대충 막 갈겨쓴게 아니라 진짜로 999999999999999배 보다 더 커요. 그래서 소인수분해가 힘든거구요