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

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

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




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

Повідомлень: 502
Одноразові шифрувальні блокноти - збірна назва криптосистем, які під час шифрування/дешифрування використовують одноразові ключі.

У 1945 році Клод Шеннон у своїй праці "Теорія зв'язку в таємних системах" довів абсолютну стійкість таких шифрів. (опублікована 1949 року).

Зображення



Назва походить від одноразових блокнотів, у яких були записані ключі у вигляді десяткових цифр. Ці блокноти мали бути знищені після зашифровки повідомлення.

Набули широкого використання з 20-х років ХХст. до 80-90-х років.


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

Повідомлень: 502
Цей метод використовувався при ручному шифруванні.

На закодоване числами (шифр простої підстановки) повідомлення накладалась гама( послідовність випадкових чисел з блокнота):

текст
Код:
12235 65364


гама
Код:
14345 64655

(як правило числа розбивались на групи по 4 чи 5 цифр,
пов'язане це з тим що без розбиття легко помилитись у виборі наступної цифри).

результат:
Код:
26570 29919


Тобто,
1+1=2
2+4=6
2+3=5
3+4=7
5+5=10=>0
6+6=12=>2
4+5=9

Формула:
Ci = (Pi + Ki) mod 10

Додавання виконувалось "в умі".


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

Повідомлень: 2
Багато суперечок щодо цього методу в мережі.
Є навіть народні умільці, які пропонують використовувати цей метод для шифрування повідомлень
в мережі чи збереження файлів.

Щодо збереження файлів:
якщо нам потрібно зашифрувати диск на 4Гб, нам потрібен інший диск з ключем на 4Гб, і при чому надійно збережений.
Якщо у нас 50 дисків, то нам потрібно 50 дисків з ключами, які ми маємо надійно зберегти.
Де зберігати? У місці до якого маємо доступ тільки ми. Якщо у нас є таке місце то і шифрувати не потрібно, можна зберігати просто 50 дисків з інформацією.

Щодо передачі повідомлень:
Питання трохи цікавіше. Таку систему досить легко реалізувати. Але існує проблема зі знищенням ключів на електронних носіях.


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

Повідомлень: 362
Приклад:

сторінка зі шифрблокноту Штазі (за часів НДР, зараз у складі ФРН, Німеччина):

Зображення


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

Повідомлень: 282
Для інтерфейсу програми для шифрування файлів напишемо програму шифрування файлів методом одноразового шифрувального блокнота.
У якості блокнота у нас буде ключовий файл, довжина якого більша або рівна довжині файла який потрібно зашифрувати:
Код:
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  tvxi,tklu,tvux:file of byte;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
FS,d0:integer;
a,k,b:byte;
begin

OpenDialog1.InitialDir:= ExtractFileDir(Application.ExeName);
if opendialog1.execute then
begin
  assignfile(tvxi,opendialog1.FileName);
  reset(tvxi);
  FS:=filesize(tvxi);
  if opendialog2.execute then
  begin
  assignfile(tklu,opendialog2.FileName);
  reset(tklu);
  if FS<=filesize(tklu) then
   begin
   if savedialog1.execute then
      begin
      assignfile(tvux,savedialog1.FileName);
      rewrite(tvux);
      for i:=1 to FS do
        begin
          read(tvxi,a);
          read(tklu,k);
          b:=a xor k;
          write(tvux,b);
        end;
        closefile(tvux);
   end;
   closefile(tvxi);
   closefile(tklu);
end;
end;
end;
end;

end.



Вибираємо файл який потрібно зашифрувати
вибираємо ключовий файл,
вибираємо файл для результату.


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

Повідомлень: 282
Програмну реалізацію "шифру одноразового блокнота" скачати (завантажити) можна тут:
Приєднання файлів:
ShObl.rar [164.69 KiB]
Скачали: 211

MD5 (ShOB.rar) = "F04AF4C16388DDB05C792C0BA6FDFB2B"
SHA-1 (ShOB.rar) = "E15E596BDD851A6D13FA3DD787234EF2C7338D87"


Шифрування/розшифрування виконується однією і тією ж процедурою, тільки
для шифрування вибираємо файл з відкритим текстом, а для розшифрування - з шифротекстом, та відповідний ключовий файл.


Другий файл - ключовий файл.
Він має бути надійно захищеним, наприклад на флеш-носії, DVD-диску тощо.

Якщо кому потрібна програма, яка реалізує шифр блокнот у класичному вигляді ( тобто з п'ятірками чисел 83450 36414 47542 і т.д.) - напишіть тут - і ми спробуємо написати для вас таку програму.


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

Повідомлень: 282
Повідомте нас, якщо потрібна більш детальна інформація.


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

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



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