1 Востаннє редагувалося vitalii (05.05.2014 20:26:10)

Тема: Реалізація шифру Бекона (С++Builder)

Допоможіть, будь ласка, реалізувати шифр Бекона. З самим шифром я розібрався, а от запрограмувати не виходить. Приблизно має виглядати так : в перший рядок вводимо текст, в другому відразу ж отримуємо зашифрований. При натисненні кнопки, дія повинна мінятись, тобто  в перший вводимо шифр, в другому отримуємо розшифрований текст.

Post's attachments

Безымянный.png 33.24 kb, 303 downloads since 2014-05-05 

2 Востаннє редагувалося Chemist-i (05.05.2014 20:37:07)

Re: Реалізація шифру Бекона (С++Builder)

vitalii
Як там в Росії справи?
П.С. напрацювання в студію! (не VC)

Подякували: koala, 0x9111A2

3 Востаннє редагувалося User 298 (05.05.2014 21:34:41)

Re: Реалізація шифру Бекона (С++Builder)

Маю код на Паскалі.

program strug_production;
var s_out, s_in, str,itogstroka,tekbukva: string;
fa: text;
ik, len, n: integer;
begin
  assign(fa, 'c:\text.txt');
  reset (fa);
  
  itogstroka:='';
  while not Eof(fa) do begin
    readln (fa, str);
    len:=length(str);
    n:=1;
    While n<len+1 do begin
        tekbukva:= Copy(str, n, 1);
        If (tekbukva='A')or(tekbukva='B')or(tekbukva='C')or(tekbukva='D')or(tekbukva='E')or(tekbukva='F')or(tekbukva='G')or(tekbukva='H')or(tekbukva='I')or
        (tekbukva='J')or(tekbukva='K')or(tekbukva='L')or(tekbukva='M')or(tekbukva='N')or(tekbukva='O')or(tekbukva='P')or(tekbukva='R')or(tekbukva='S')or
        (tekbukva='T')or(tekbukva='U')or(tekbukva='V')or(tekbukva='W')or(tekbukva='X')or(tekbukva='Y')or(tekbukva='Z')or(tekbukva='А')or(tekbukva='Б')or
        (tekbukva='В')or(tekbukva='Г')or(tekbukva='Д')or(tekbukva='Е')or(tekbukva='Ё')or(tekbukva='Ж')or(tekbukva='З')or(tekbukva='И')or(tekbukva='Й')or 
        (tekbukva='К')or(tekbukva='Л')or(tekbukva='М')or(tekbukva='Н')or(tekbukva='О')or(tekbukva='П')or(tekbukva='Р')or(tekbukva='С')or(tekbukva='Т')or(tekbukva='У')or
        (tekbukva='Ф')or(tekbukva='Х')or(tekbukva='Ц')or(tekbukva='Ч')or(tekbukva='Ш')or(tekbukva='Щ')or(tekbukva='Ъ')or(tekbukva='Ы')or(tekbukva='Ь')or(tekbukva='Э')or
        (tekbukva='Ю')or(tekbukva='Я') Then
         Begin
          itogstroka:=itogstroka+'B';         
         end
        Else itogstroka:=itogstroka+'A';
        n:=n+1;
    end;
    writeln(itogstroka);    
  end;
  len:=length(itogstroka);
  n:=1;
  While n<len+1 do begin
      tekbukva:= Copy(itogstroka, n, 5);
      If (tekbukva='AAAAA')Then Write('a') Else 
      If (tekbukva='AAAAB')Then Write('b') Else
      If (tekbukva='AAABA')Then Write('c') Else
      If (tekbukva='AAABB')Then Write('d') Else
      If (tekbukva='AABAA')Then Write('e') Else
      If (tekbukva='AABAB')Then Write('f') Else
      If (tekbukva='AABBA')Then Write('g') Else
      If (tekbukva='AABBB')Then Write('h') Else
      If (tekbukva='ABAAA')Then Write('i') Else
      If (tekbukva='BBBAA')Then Write('j') Else
      If (tekbukva='ABAAB')Then Write('k') Else
      If (tekbukva='ABABA')Then Write('l') Else
      If (tekbukva='ABABB')Then Write('m') Else
      If (tekbukva='ABBAA')Then Write('n') Else
      If (tekbukva='ABBAB')Then Write('o') Else
      If (tekbukva='ABBBA')Then Write('p') Else
      If (tekbukva='ABBBB')Then Write('q') Else
      If (tekbukva='BAAAA')Then Write('r') Else
      If (tekbukva='BAAAB')Then Write('s') Else
      If (tekbukva='BAABA')Then Write('t') Else
      If (tekbukva='BAABB')Then Write('u') Else
      If (tekbukva='BBBAB')Then Write('v') Else
      If (tekbukva='BABAA')Then Write('w') Else
      If (tekbukva='BABAB')Then Write('x') Else
      If (tekbukva='BABBA')Then Write('y') Else
      If (tekbukva='BABBB')Then Write('z') Else
      Write('');
      n:=n+5;
  end;
  
  close(fa);
  {readln;}
end.

Bartash: код слід брати у теги [ code ].

П.С.
Я  не в курсі закордонних справ, тим більше, при нинішній ситуації в своїй країні. І я не думав, що одна тема на двох форумах з різними мовами - це протизаконно.

4 Востаннє редагувалося Chemist-i (05.05.2014 21:33:03)

Re: Реалізація шифру Бекона (С++Builder)

Так а в чому саме проблема? Компілюйте і несіть здавати. =)
До речі, можна було і не засмічувати форум чужим кодом. То є не Ваші напрацювання. Навряд хтось Вам допоможе безкоштовно.

Подякували: 0xDADA11C7, Logans, koala3

5

Re: Реалізація шифру Бекона (С++Builder)

У шифру Бекона погана криптостійкість. Задумайтесь над реалізацією RSA :)

6

Re: Реалізація шифру Бекона (С++Builder)

quez написав:

У шифру Бекона погана криптостійкість. Задумайтесь над реалізацією RSA :)

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

https://uk.wikipedia.org/wiki/Атака_сторонніми_каналами

Подякували: Chemist-i, koala2

7

Re: Реалізація шифру Бекона (С++Builder)

Chemist-i написав:

Так а в чому саме проблема? Компілюйте і несіть здавати. =)

Ну справа в тому, що йому потрібно на с++ перевести цей код.
А паскаль ми не розумієм

8

Re: Реалізація шифру Бекона (С++Builder)

Yola написав:
quez написав:

У шифру Бекона погана криптостійкість. Задумайтесь над реалізацією RSA :)

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

https://uk.wikipedia.org/wiki/Атака_сторонніми_каналами

Смайлик бачите? Спеціально ж поставив, щоб серйозно не сприймали.

Подякували: Yola1

9

Re: Реалізація шифру Бекона (С++Builder)

roctik1996 написав:
Chemist-i написав:

Так а в чому саме проблема? Компілюйте і несіть здавати. =)

Ну справа в тому, що йому потрібно на с++ перевести цей код.
А паскаль ми не розумієм

Все ж таки, в чому полягає проблема?

10

Re: Реалізація шифру Бекона (С++Builder)

Chemist-i написав:

vitalii
П.С. напрацювання в студію! (не VC)

Post's attachments

1.png 38.1 kb, 286 downloads since 2014-05-09 

11 Востаннє редагувалося vitalii (09.05.2014 20:04:32)

Re: Реалізація шифру Бекона (С++Builder)

Chemist-i написав:

vitalii
П.С. напрацювання в студію! (не VC)

Post's attachments

2.png 45.88 kb, 345 downloads since 2014-05-09 

12 Востаннє редагувалося vitalii (09.05.2014 20:06:11)

Re: Реалізація шифру Бекона (С++Builder)

Chemist-i написав:

vitalii
П.С. напрацювання в студію! (не VC)

Post's attachments

3.png 49.94 kb, 340 downloads since 2014-05-09 

Подякували: 0xDADA11C71

13

Re: Реалізація шифру Бекона (С++Builder)

Дуже радий, що у вас все вийшло. Творчих вам успіхів!

Подякували: Chemist-i1

14

Re: Реалізація шифру Бекона (С++Builder)

koala написав:

Дуже радий, що у вас все вийшло. Творчих вам успіхів!

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

15 Востаннє редагувалося quez (10.05.2014 22:40:03)

Re: Реалізація шифру Бекона (С++Builder)

Варто б викласти на http://ideone.com/, код в картинках складно розбирати.

16

Re: Реалізація шифру Бекона (С++Builder)

quez написав:

Варто б викласти на http://ideone.com/, код в картинках складно розбирати.

Можна прям сюди, у тег code

Подякували: koala1

17

Re: Реалізація шифру Бекона (С++Builder)

Chemist-i написав:
quez написав:

Варто б викласти на http://ideone.com/, код в картинках складно розбирати.

Можна прям сюди, у тег code

Я з прицілом на те, щоб не копіпастити його туди, а зразу там пробувати запускати. Код довгий, тут незручно читати.

Подякували: Chemist-i1

18

Re: Реалізація шифру Бекона (С++Builder)

quez написав:

Я з прицілом на те, щоб не копіпастити його туди, а зразу там пробувати запускати. Код довгий, тут незручно читати.

Ой, а розкажіть, як там запускати код з C++Builder без форми?

19

Re: Реалізація шифру Бекона (С++Builder)

koala написав:
quez написав:

Я з прицілом на те, щоб не копіпастити його туди, а зразу там пробувати запускати. Код довгий, тут незручно читати.

Ой, а розкажіть, як там запускати код з C++Builder без форми?

Краще розкажіть, нащо в функції для шифру Бекона код з C++ Builder.