그냥 일반적인 나눗셈의 나머지를 구하는건 어렵지 않을거 같습니다만..
128bit 정도의 크기를 가지는 정수에 대한 모듈러 연산을 하려니까 많이
난감하네요.. 128bit의 정수를 표현할 수 있는 효율적인 방법이 없을까요?
물론 연산이 가능한 형태로 표현을 해야겠죠..^^
검색을 해봐도 큰 수를 다루는 문제는 잘 안보이는거 같아서요..
코드는 아마도 라이브러리 이용한 예제인가봐요?? fact()함수가 뭘 하는건지는 모르겠지만.. 결과값은 엄청난 숫자를 출력하네요..^^ 아.. 팩토리알 구하는 거군요..^^;; 링크 사이트에 적혀 있군요..ㅎㅎ 감사합니다. 라이브러리를 단순히 사용하는건 공부에 도움이 안될듯 하구요.. 제가 암호학쪽에 관심이 있어서요..큰 수에 대한 연산은 필수적인 기본기라고 생각하고 직접 구현해보고 싶은거죠..^^ 저 라이브러리도 분석해보면 도움이 되겠죠? ^^
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
코드는 아마도 라이브러리 이용한 예제인가봐요?? fact()함수가 뭘 하는건지는 모르겠지만.. 결과값은 엄청난 숫자를 출력하네요..^^ 아.. 팩토리알 구하는 거군요..^^;; 링크 사이트에 적혀 있군요..ㅎㅎ 감사합니다. 라이브러리를 단순히 사용하는건 공부에 도움이 안될듯 하구요.. 제가 암호학쪽에 관심이 있어서요..큰 수에 대한 연산은 필수적인 기본기라고 생각하고 직접 구현해보고 싶은거죠..^^ 저 라이브러리도 분석해보면 도움이 되겠죠? ^^
암호학에 필요한 a^k mod N 류를 계산하는 알고리즘은 따로 있습니다.
가장 널리 쓰이는게 Montgomery 알고리즘이죠. 이걸 상황에 맞게 적당히 최적화해서 씁니다. 자세한 내용은 google을 참조하시고요.
너무 노력도 안해보고 질문을 올리는거 같아서 조금 걱정스럽기도 하고 죄송스럽기도 했는데... 이렇게 답변을 달아주셔서 너무너무 감사하네요.. 알고리즘 자체는 계산에 대한 문제이고 입출력 데이터로서 큰 수를 다루는건 다른 방향에서 봐야 하는거라고 생각했는데.. 제 생각이 틀렸나봐요?? 이런저런 논문 찾아보니까 효율적인 모듈러 연산기를 구현하기 위한 방법들이 정말로 많더군요..^^
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
BIGNUM 관련으로 해서 검색해 보세요.openssl 도 BIG
BIGNUM 관련으로 해서 검색해 보세요.
openssl 도 BIGNUM을 자체로 구현해 놓았고
GNU 쪽에서도 Math Library 로 Bignum을 구현해 놓은것도 있습니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
아... 답변 감사합니다.. 큰수를 계산한다는게 말은 쉬운데.. 실천은
아... 답변 감사합니다.. 큰수를 계산한다는게 말은 쉬운데.. 실천은 어렵네요..^^;;
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
라이브러리가 있습니다.http://www.swox.com/gmp/
라이브러리가 있습니다.
http://www.swox.com/gmp/
php와 연동도 되고요.
http://kr.php.net/manual/en/ref.gmp.php
결과
https://xenosi.de/
코드는 아마도 라이브러리 이용한 예제인가봐요?? fact()함수가 뭘 하
코드는 아마도 라이브러리 이용한 예제인가봐요?? fact()함수가 뭘 하는건지는 모르겠지만.. 결과값은 엄청난 숫자를 출력하네요..^^ 아.. 팩토리알 구하는 거군요..^^;; 링크 사이트에 적혀 있군요..ㅎㅎ 감사합니다. 라이브러리를 단순히 사용하는건 공부에 도움이 안될듯 하구요.. 제가 암호학쪽에 관심이 있어서요..큰 수에 대한 연산은 필수적인 기본기라고 생각하고 직접 구현해보고 싶은거죠..^^ 저 라이브러리도 분석해보면 도움이 되겠죠? ^^
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
[quote="shs0917"]코드는 아마도 라이브러리 이용한 예제인가봐
암호학에 필요한 a^k mod N 류를 계산하는 알고리즘은 따로 있습니다.
가장 널리 쓰이는게 Montgomery 알고리즘이죠. 이걸 상황에 맞게 적당히 최적화해서 씁니다. 자세한 내용은 google을 참조하시고요.
너무 노력도 안해보고 질문을 올리는거 같아서 조금 걱정스럽기도 하고 죄송
너무 노력도 안해보고 질문을 올리는거 같아서 조금 걱정스럽기도 하고 죄송스럽기도 했는데... 이렇게 답변을 달아주셔서 너무너무 감사하네요.. 알고리즘 자체는 계산에 대한 문제이고 입출력 데이터로서 큰 수를 다루는건 다른 방향에서 봐야 하는거라고 생각했는데.. 제 생각이 틀렸나봐요?? 이런저런 논문 찾아보니까 효율적인 모듈러 연산기를 구현하기 위한 방법들이 정말로 많더군요..^^
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
댓글 달기