2012-01-20 3 views
1

데이터 암호화가 처음인데 현재 (16 비트/32 비트) 암호화 방법으로 10 자리 숫자를 암호화하는 방법을 연구하고 있습니다. 내가 가진 제약 조건은 암호화 된 값이 z-A-Z 0-9가 될 수 있고 길이는 < = 1010 자리 숫자 암호화/암호 해독

입니다. 다른 사람이 올바른 방향으로 나를 가리킬 수 있다면 도움이 될 것입니다.

+0

귀하의 질문에 너무 열었습니다. 어떤 암호화 방법을 사용 하시겠습니까? 내가 생각할 수있는 유일한 '암호화'방법은 결과의 길이를 10 비트 이상으로 인코딩하는 것이지만 (누군가 내 머리 속에서 인정할 수 있음) 생각할 수 있습니다. 할 또는 반대로. –

+0

나는 모든 암호화 방법에 개방적이다. XOR을 시도했지만 암호화 값이 두 개의 다른 숫자에 대해 중복 된 것처럼 보입니다. 자체 암호화 알고리즘을 장치하는 것이 현명한 방법일까요? 이것이 혼란 스럽다면 죄송합니다. – Ara

+0

XOR은 부울 연산이므로 암호화 방법을 구성하는 요소를 정확하게 브러시 업하고 싶을 수 있습니다. 암호화 용도는 무엇입니까? –

답변

1

코드를 안전하게 인코딩하는 데 사용하는 프로그래밍 언어의 dec2hex 기능과 함께 Vigenere cipher을 사용할 수 있습니다.

예를 들어 키워드 (이 경우 단어가 아닌 숫자 문자열) 12345을 사용하면 5125891923의 예제 ID는 6359303268 *이됩니다. 그러면 dec2hex로하여 17B0B4464을 얻거나 36 (0-9a-z)의 밑으로 변환하여 2x65xt0을 얻을 수 있습니다.

* 간단히 말하면 키워드의 첫 번째 숫자를 ID의 첫 번째 숫자에 추가 한 다음 키워드의 두 번째 숫자를 ID의 두 번째 숫자에 추가합니다. ... 키워드의 첫 번째 숫자부터 ID의 여섯 번째 숫자까지

+0

키워드를 계산할 소스가 충분하지 않은 것이 안전합니다. 그리고 여기 정확히 그 경우입니다. 게다가, 그것이 사용되었다고 생각할 수있는 방법이 전혀 없습니다. 10 명의 공격자로 다시베이스를 변환 한 후 숫자를 받게됩니다. 편지 나 빈도가 없으니 까. – Ranty

+0

숫자가 정보를 제공하지 않는다는 의미입니다. 단어가 있고 그것이 영어이고 어떤 의미가없는 글자를 본다면 그 단어가 암호화되었음을 알 수 있습니다. 번호를 볼 때 알 수없는 것은 올바른 ID인지 암호화 된 ID인지를 판단 할 방법이 없기 때문입니다. 그것을 검증하는 방법을 찾지 않으면 같은 방법으로 해독 할 수 없습니다. 어떤 숫자도 숫자 일뿐입니다. – Ranty

+0

고마워요. 이걸 시도해보고 저에게 맞는다면 알려 드리겠습니다. – Ara