2012-07-18 3 views
3

정수를 다른 정수로 매핑하는 좋은 역함수 1-1 기능이 있습니까?1-1 함수를 사용하여 ID에서 코드 생성

0->3 
1->2 
2->4 
3->5 
4->1 
5->0 

또한, 매핑이 무작위로 보일 것입니다 : 범위 0-5 주어진 예에 대한 은 내가 매핑을 찾고 싶어요.

답변

4

배열을 오름차순으로 채운 다음 임의로 섞을 수 있습니다. 가장 효율적으로 메모리를 사용하지 않는 경우 일반적으로 정상적으로 수행됩니다.

승산과 같은 닫힌 이산 변환을 사용할 수도 있습니다. P와 K가 서로 다른 한 두 개의 수 P와 K가있는 한, P^n mod K는 길이 (K - 1)의 비 반복, 의사 랜덤 시퀀스를 생성합니다.이 시퀀스의 길이는 1에서 K. 이산 수학의 특별한 표현은 암호학의 전제 중 하나입니다. 시퀀스에서 지수로 거꾸로가는 것은 이산 대수 문제로 알려져 있으며 전통적인 RSA가 안전 한 이유입니다.

가역 알고리즘을 요청했습니다. 지수를 추적하면 P^n mod K에서 P^(n-1) mod K로 갈 수 있습니다. 암호화에서 작동하지 않는 지수에서 지수로 거꾸로가는 몇 가지 단축키를 취할 수 있습니다. 왜냐하면 알고리즘의 특정 매개 변수가 의도적으로 더 어렵게하기 위해 버려지기 때문입니다.

그렇다면 이산 로그 문제를 해결하면서 RSA를 깨뜨린다면이 사실을 알려주세요.

+1

'K'가 소수 일 경우'P^n'에 의해'K - 1' 길이의 시퀀스 만 얻을 수 있습니다. 일반적으로 한계는'φ (K)'이며,'P'가 원시 루트 모듈러스'K' (이 중'φ (K-1)') 인 경우에만 도달합니다. –

+0

이 제안 뒤에있는 수학은 매우 신비하며, 완전히 이해할 척하지는 않습니다. – Wug

+0

고맙습니다. 오늘 밤 모드 1을 사용해 보겠습니다. :) – boh

0

순열 다항식은 어떻습니까? 이 기사의 3 번 섹션을 참조하십시오. http://webstaff.itn.liu.se/~stegu/jgt2012/article.pdf 노이즈에 사용되지만 원하는 것과 정확히 같습니다.

형태가 (Ax^2 + Bx) mod M 인 함수를 생성하는 것이 좋습니다. 그 함수의 작은 부분 집합 만이 반전 가능/순열을 생성하지만, 존재하는 경우 실제 역함수를 찾는 것이 어렵지 않아야합니다.

0

블록 암호를 사용하여 이러한 순열을 생성 할 수있다. 목록 전체를 메모리에 넣지 않아도된다. 나는 얼마 전에 그것에 대해 블로그 게시물을 썼다.이 게시물은 here을 찾을 수있다.