Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 30
1

Шифровка / дешифровка файлов (scrembler)

11.06.2013, 18:24. Просмотров 856. Ответов 1
Метки нет (Все метки)


Здравствуйте есть программа для шифровки и дешифровки файлов , нужно поменять в ней значения key , mask , e и длину файла под это условие : Построить криптосистему на основе скремблера для шифрования и дешифрования файлов размером 7MB с минимальной длиной ключа. Подскажите как мне найти эти значения .

Pascal
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
program scrembler;
const
    key:longint=67108863;
    mask:longint=25800865;
 
        { /* N=26 */ }
    e=34217728;
 
var
    fi,fo:file of byte;
    a,i,b:byte;
    c:longint;
    s:string;
        Label labl;
function Ed(var x):byte;
 var
    b:longint;
    i,a:byte;
    begin
     b:=longint(x);
         a:=b mod 2;
     for i:=1 to 25 do
      a:=a xor ((b shr 1) and 1);
      b:=b shr 1;
          Ed:=a;
        end;
BEGIN
 
 begin
 labl:
 write('file in :');
 readln(s);
 assign(fi,s);
 reset(fi);
 
 if (filesize(fi) > 512000) { 500 Kb}
 then
     begin
          writeln('File is too large!');
          goto labl;
     end;
 
      write('file out :'); readln(s); assign(fo,s);
    reset(fi); rewrite(fo);
    while not eof(fi) do
     begin
      read(fi, a);
          b:=0;
      for i:=1 to 8 do
       begin
        if (key mod 2)=1 then b:=b or (1 shl (8-i)); c:=key and mask;
        key:=(key shr 1) or (Ed(c)*e)
       end;
      a:=a xor b;
          write(fo,a);
        end;
 
    close(fi);
        close(fo);
     
 end;
 
END.
Добавлено через 3 часа 46 минут
посоветуйте что нибудь , может формула есть какая , или надо дополнительную программку написать для вычисления маски ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2013, 18:24
Ответы с готовыми решениями:

Найти ошибку (шифровка/дешифровка)
Задание написать шифровку/дешифровку некоторой строки методом сдвига (шифр Цезаря) Спустя 2 часа...

Шифровка\Дешифровка текста. Курсак горит(( SOS
Курсовая работа. 1-й курс. Паскаль. Задание: Нужно сделать 2 проги в одной для...

Шифровка/дешифровка
Написать программу шифровки/дешифровки методом биграмм! НА сайте не нашёл >> создал тему!

Шифровка и дешифровка
Составить программы шифровки и дешифровки текстов с помощью ключевой фразы Сначала составим ...

1
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 30
12.06.2013, 20:35  [ТС] 2
Решил я эту задачку , оказывается все просто , N(маска) рассчитывается по формуле n=(Ln(8L+1))/Ln2 , получается 25.8. Далее смотрим числа Мерсера (2,3,5,7,13,17,19,31) берем наибольшее приближенное число к нашему ответу , в итоге получаем n=31(mask). Теперь рассчитываем "e" по формуле e= 2^n-1 , в итоге получаем 2147483647. А вот ключ ,как считается я в душе не знаю , возьму наугад ,авось прокатит , примерно 29 .

Добавлено через 4 минуты
Кстати L у нас это 7 мб , переводим в байты , получаем 7340032

Добавлено через 7 минут
Если кто додумается , как посчитать ключ , напишите пожалуйста
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 20:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Шифровка-дешифровка
Помогите пожалуйста !Необходимо создать программу,которая будет зашифровывать,и дешифровывать слово...

шифровка/дешифровка
Помогите пожалуйста. Надо написать прогу, которая шифрует/дешифрует введеный текст. (конкретно мне...

Шифровка дешифровка пароля
Помогите пожалуйста дописать код Но он только шифрует нужно что-бы он и дешифровал шифрованный код...

Шифровка и дешифровка текста
Напишите подпрограммы Encode (зашифровать) и Decode (расшифровать), которые получают два параметра...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.