Крипто-форум crprogram.16mb.com

Програмування на Object Pascal, Lazarus, криптографія, криптоаналіз, шифри, вихідні коди, вирішення задач, приклади програм

Часовий пояс: UTC десь + 2 години




Розпочати нову тему Відповісти  [ 13 повідомлень ] 
Автор Повідомлення
 Заголовок повідомлення: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 362
M-209 - американська шифрувальна машина, яку використовували для шифрування тактичних повідомлень у час Другої світової війни та війни в Кореї.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Машинка мала 6 роторів.
  • 26 букв, A-Z
  • 25 букв, A-Z, без W
  • 23 буквы, A-X, без W
  • 21 буква, A-U
  • 19 букв, A-S
  • 17 букв, A-Q

Машина була ситровена на основі шифрувальної машинки C-38 фірими КриптоАГ Бориса Хагеліна.

інструкція 1944 року


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Зображення


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Якщо хто знайде приклад оригінальних повідомлень зашифрованих з допомогою M-209 часів Другої Світової війни чи Корейської війни - напишіть їх тут.

Також є інформація що M-209 зламали німці з 1943-1944 року.
Правда це нічим їм не допомогло.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 501
Передивився інформації в мережі, здавалось би і є описи, але розібратись складно.

Що знайшов:

"Сучасний" приклад добових налаштувань
Код:
EFFECTIVE PERIOD:
09-FEB-2013 00:00 THROUGH 23:59 GMT

NET INDICATOR:      M209GROUP
KEY LIST INDICATOR: BX
-------------------------------
NR LUGS  1  2  3  4  5  6
-------------------------------
01 0-3   A  A  -  A  -  A
02 0-3   B  B  -  -  -  -
03 0-3   -  C  C  -  C  -
04 0-5   -  D  -  -  -  D
05 0-5   E  -  E  E  -  -
06 0-5   -  -  -  -  -  -
07 0-5   G  -  G  -  G  -
08 0-5   H  -  -  H  H  H
09 0-6   -  -  I  I  -  I
10 0-6   -  J  J  -  -  J
11 0-6   -  K  -  -  K  K
12 0-6   L  -  -  -  L  L
13 0-6   -  M  M  M  M  -
14 0-6   N  N  -  N  -  -
15 0-6   -  -  -  -  O  -
16 1-3   P  P  P  P  -  -
17 2-3   -  -  -  Q  Q  Q
18 2-4   R  -  R  -  -   
19 2-5   S  S  S  -  -   
20 3-4   -  T  T  T     
21 3-5   U  -  U  -     
22 3-5   -  -  V         
23 3-6   W  -  -         
24 3-6   X  -           
25 3-6   -  Z           
26 3-6   -               
27 5-6                   
-------------------------------
26 LETTER CHECK

WWLLN TTULB VDNDA UUOZS KDTOX M
-------------------------------



На кожному диску під літерами є шпильки (pin) які можуть мати активне положення.
Якщо у таблиці у колонці відповідного диску написана літера, то її шпильку переводять у активне положення, якщо "-" - у неактивне.

На барабані є 27 штанг (bars), на яких розміщено по два наконечники (lugs), які можуть мати положення 1-2-3-4-5-6-0
відповідно числа "0-3" - означають - 1-й наконечник у положення "0", 2-й - у положення "3".

У кінці таблиці перевірочний рядок,
для відкритого тексту "AAAAAAAAAAA...."


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Трохи розібрався

1. Спочатку рух роторів

Якщо виставити ключ "AAAAAA"
для першої літери будуть використовуватись активні шпильки з рядка "PONMLK";
для другої літери ротори повернуться на одну позицію вверх
і тоді будуть використовуватись шпильки з літер QPONML (1-й ротор - Q, …, 6-й - L)

Тобто послідовно будуть активні шпильки з рядків
Цитата:
№0001 => PONMLK
№0002 => QPONML
№0003 => RQPONM
№0004 => SRQPON
№0005 => TSRQPO
№0006 => UTSRQP
№0007 => VUTSRQ
№0008 => WVUTSA
№0009 => XXVUAB
№0010 => YYXABC
№0011 => ZZABCD
№0012 => AABCDE
№0013 => BBCDEF
№0014 => CCDEFG
№0015 => DDEFGH
№0016 => EEFGHI
№0017 => FFGHIJ
№0018 => GGHIJK
№0019 => HHIJKL
№0020 => IIJKLM
№0021 => JJKLMN
№0022 => KKLMNO
№0023 => LLMNOP
№0024 => MMNOPQ
№0025 => NNOPQA
№0026 => OOPQRB
№0027 => PPQRSC
№0028 => QQRSAD
№0029 => RRSTBE
№0030 => SSTUCF
№0031 => TTUADG
№0032 => UUVBEH
№0033 => VVXCFI
№0034 => WXADGJ
№0035 => XYBEHK
№0036 => YZCFIL
№0037 => ZADGJM
№0038 => ABEHKN
№0039 => BCFILO
№0040 => CDGJMP
№0041 => DEHKNQ
№0042 => EFILOA
№0043 => FGJMPB
№0044 => GHKNQC

і так далі…

(кольором позначив початок нового оберту ротора).

Вибрано взаємно прості числа щоб збільшити період.
Сам період буде
26 * 25 * 23 * 21 * 19 * 17 = 101 405 850.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
2. Робота зі штангами:

Для ключа який написав Tariq:
на дисках
1 2 3 4 5 6
P - - M L K
тобто активні тільки шпильки на дисках 1, 4, 5, 6
тоді
далі 27 штанг роблять повний оберт, і там де наконечники стоять у позиції відповідного диска вони взаємодіють (+1)
- штанга рухається у бік
Код:
      
01 0-3     +0    - шпилька 3-го диску не активна, тому штанга не рухається у бік
02 0-3     +0   
03 0-3     +0   
04 0-5     +1    - шпилька 5-го диску активна, тому штанга рухається у бік
05 0-5     +1   
06 0-5     +1   
07 0-5     +1   
08 0-5     +1   
09 0-6     +1   
10 0-6     +1   
11 0-6     +1   
12 0-6     +1   
13 0-6     +1   
14 0-6     +1   
15 0-6     +1   
16 1-3     +1   
17 2-3     +0   
18 2-4     +1   
19 2-5     +1   
20 3-4     +1   
21 3-5     +1   
22 3-5     +1   
23 3-6     +1   
24 3-6     +1   
25 3-6     +1   
26 3-6     +1   
27 5-6     +1   

(сума по останній колонці +0+0+0+1+...+1 = +23 )
Тоді зсунутими стануть 23 штанги, які обернуть ротор на 23 позиції:
Код:
      
A   1    ==>
B   2   
C   3   
D   4   
E   5   
F   6   
G   7   
H   8   
I   9   
J   10   
K   11   
L   12   
M   13   
N   14   
O   15   
P   16   
Q   17   
R   18   
S   19   
T   20   
U   21   
V   22   
W   23    <==
X   24   
Y   25   
Z   26   


A буде зашифрована літерою "W"


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Тоді послідовно отримаємо літери:
Код:
1 2 3 4 5 6    1 2 3 4 5 6   1 2 3 4 5 6   1 2 3 4 5 6   1 2 3 4 5 6   1 2 3 4 5 6   1 2 3 4 5 6   1 2 3 4 5 6
P - - M L K    - P - N M L   R - P - - -    S - - P O -     - S R Q - -    U T S - Q -     - - T - - Q    W - U T - A
+0            +0            +1            +0            +1            +1            +1            +1
+0            +0            +1            +0            +1            +1            +1            +1
+0            +0            +1            +0            +1            +1            +1            +1
+1            +1            +0            +1            +0            +1            +0            +0
+1            +1            +0            +1            +0            +1            +0            +0
+1            +1            +0            +1            +0            +1            +0            +0
+1            +1            +0            +1            +0            +1            +0            +0
+1            +1            +0            +1            +0            +1            +0            +0
+1            +1            +0            +0            +0            +0            +1            +1
+1            +1            +0            +0            +0            +0            +1            +1
+1            +1            +0            +0            +0            +0            +1            +1
+1            +1            +0            +0            +0            +0            +1            +1
+1            +1            +0            +0            +0            +0            +1            +1
+1            +1            +0            +0            +0            +0            +1            +1
+1            +1            +0            +0            +0            +0            +1            +1
+1            +0            +1            +1            +1            +1            +1            +1
+0            +1            +1            +0            +1            +1            +1            +1
+1            +1            +0            +1            +1            +1            +0            +1
+1            +1            +0            +1            +1            +1            +0            +0
+1            +1            +1            +1            +1            +1            +1            +1
+1            +1            +1            +1            +1            +1            +1            +1
+1            +1            +1            +1            +1            +1            +1            +1
+1            +1            +1            +0            +1            +1            +1            +1
+1            +1            +1            +0            +1            +1            +1            +1
+1            +1            +1            +0            +1            +1            +1            +1
+1            +1            +1            +0            +1            +1            +1            +1
+1            +1            +0            +1            +0            +1            +1            +1

23            23            12            12            14            20            20            21
W            W            L             L            N            T            T            U


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Детальний приклад зсуву літери:

Початковий алфавіт
Код:
_   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
ВТ   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
ШТ   Z   Y   X   W   V   U   T   S   R   Q   P   O   N   M   L   K   J   I   H   G   F   E   D   C   B   A


A => Z

Рух на +23 позиції:

Код:
__   26   25   24   23   22   21   20   19   18   17   16   15   14   13   12   11   10   9   8   7   6   5   4   3   2   1
__   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
ВТ   X   Y   Z   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W
ШТ   Z   Y   X   W   V   U   T   S   R   Q   P   O   N   M   L   K   J   I   H   G   F   E   D   C   B   A


A => W


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Шифрування повідомлення, вибір сеансових ключів M-209:

З початку роботи на машинці встановлюються добові налаштування, які позначаються двома літерами.
Для прикладу вище це "BX"

Далі для кожного нового повідомлення вибираються випадково сім літер.
наприклад
T
ACBFIO

Далі
літера T шифрується з ключем ACBFIO дванадцять разів.
Тоді отримано
TAECB SZZLV CA

з цих 12 літер записують сеансовий ключ, якщо літери немає на диску - беруть наступну.
Тоді ключ буде TAECBL

Ним і шифрують відкритий текст (ВТ).

Далі дописують у повідомлення вибрані налаштування:
TT - літера повторена двічі
ACBFIO - початковий ключ
BX - ключові таблиці.

Далі індикатор повторюють після та перед повідомленням.

Остаточно отримаємо результат:
Цитата:
TTACB FIOBX QWECM KUOZK ZQRWB EOJQX DBGIW
SGHLO KTRAH FTWBZ TTACB FIOBX


(Повідомлення
CRPROGRAMZONEZSIXZCOMZISZTHEZBESTZSITEZ)


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 282
Пробіл кодувався літерою "Z", тобто
Код:
" " = "Z"


Процедури іноді змінювали.


Залишилось знайти оригінальне повідомлення...


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 501
Зрозуміло.

Загалом бачу програму на делфі написати не так вже і важко.

Якщо кому потрібен шифр "M-209" повідомте нас.

Думаю, як буде вільний час напишу програмну реалізацію цієї шифр машини.

До речі, є симулятор в мережі
рекомендую
US M-209 Simulator 3.0.
Там же є симулятори Enigma та TSEC/KL-7.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: M-209
СообщениеДодано: 18 сер 2015, 16:55 
Не в мережі

Повідомлень: 282
Якщо кому не зрозумілий принцип роботи - повідомте нас.


Повернутися наверх
  
 
Показати повідомлення за:  Сортувати по:  
Розпочати нову тему Відповісти  [ 13 повідомлень ] 

Часовий пояс: UTC десь + 2 години



cron
Роwеrеd bу рhрВB® аnd Hostinger web hosting