LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
15 мая 2024
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Раскажите...
Тема: Раскажите о методе шифрования RSA
15.06.2007 19:58:10
All
4316 сообщения
Тема: Раскажите о методе шифрования RSA
Можно ли использовать метод шифрования открытым ключем-RSA в Access
P.S. Защита базы данных
Автор:
Татьяна
от 0:00:00
Источник ...
15.06.2007 19:58:10
All
4316 сообщения
RE: Раскажите о методе шифрования RSA
Метод защиты информации открытым ключом RSA, назван так по начальным буквам фамилий ее изобретателей (Rivest, Shamir and Adleman). Возникает вопрос, а надо ли еще "городить" новый вариант защиты, когда уже есть встроенные системы защиты в Access, такие как, ограничение доступа к объектам базы данных на основе пароля или системного файла system.mdw.
Ответ однозначный - необходимо, т.к. из-за высокой популярности использования Access файлов, все больше специалистов пытаются определить структуру mdb файла (см. AccessRecovery или la_prot.mdb). Cледовательно нет 100% уверенности, что не появится программа, которая прочитает ваши данные. Таким образом, попробуем разобраться в алгоритме RSA, чтобы потом применить его к защите полей вашей базы данных.
В RSA используется для шифрования один ключ, а для расшифровки другой. Первый ключ не является секретным и может быть известен всем, кто работает с базой данных.
Очевидные факторы алгоритма : • расшифровать данные с помощью известного ключа невозможно;
• ключ расшифровки не может быть определен из ключа шифрования;
• ключи должны иметь очень большую величину;
Определим термины, которые встречаются при описании алгоритма: • простое число - это такое, которое может делится только на 1 и на само себя;
• взаимно простые числа - это числа не имеющие ни одного общего делителя кроме 1;
• i mod j - деление по модулю;
• i ^ j - возведение в степень j числа i;
Описание алгоритма RSA. В скобках дан пример вычислений в цифрах.1. Возьмем два простых числа A и B. [3 и 11]
2. Определим c=A*B [33]
3. Выберем число d [3] взаимно простое с выражением (A-1)*(B-1) [20]
4. Найдем число e [7], чтобы (e*d) mod ((A-1)*(B-1))=1
5. Итак,
e[7] и c[33] - открытый ключ
d[3] и c[33] - секретный ключ
Проверка алгоритма
6. Зашифруем число x[2] по формуле: p=(x^e) mod c [((2^7) mod 33)=29]
7. Расшифруем число p[29] по формуле: x=(p^d) mod c [((29^3) mod 33)=2] Выводы 1. Перед шифрованием надо разбить текст на блоки, а затем каждому из них дать определенное число. В примере выше использован простой случай, т.е. текст разбивается на символы, где число x имеет код 2.
2. Сам процесс зашифровки/расшифровки требует эффектных решений, т.к. если использовать стандартные математические операции для расчета, то уже для простых чисел 23 и 17 может возникнуть переполнение при возведении в степень. Как этого избежать и подобрать простые числа указано в файле: profi_prot1.mdb
3. Для проверки изложенного выше алгоритма используйте следующую программу (действует на малых числах):
Тестирование Private Sub funTestRSAencryption()Dim A As Long, B As Long, c As Long
Dim d As Long, e As Long, x As Long, p As Long
'1. Возьмем два простых числа A и B.
A = 3
B = 11
Debug.Print "A=" & A, "B=" & B
'2. Определим c = A * B
c = A * B
Debug.Print "C=" & c
'3. Выберем число d взаимно простое с выражением (A-1)*(B-1)
d = 3
Debug.Print "Test1=" & (A - 1) * (B - 1)
'4. Найдем число e, чтобы (e*d) mod ((A-1)*(B-1))=1
e = 7
Debug.Print "Test2=" & (e * d) Mod ((A - 1) * (B - 1))
'5. Выбираем символ x для шифрования
x = 2
Debug.Print "X=" & x
'6. Зашифруем число x по формуле: p=(x^e) mod c
p = x ^ e Mod c
Debug.Print "P=" & p
'7. Расшифруем число p по формуле: x=(p^d) mod c
x = (p ^ d) Mod c
Debug.Print "X=" & x End Sub
P.S. В качестве дополнительного материала, я бы посоветовал прочитать книгу "Защита информации в персональных ЭВМ", Спесивцев, Вегнер, Крутяков, Серегин, Сидоров. Москва "РАДИО и СВЯЗЬ" 1992 год, стр. 39-41. Вот умная выдержка из этой книги
Криптостойкость алгоритма RSA основывается на предположении, что исключительно трудно определить секретный ключ по известному, поскольку для этого необходимо решить задачу о существование делителей целого числа. Данная задача является NP – полной и, как следствие этого факта, не допускает в настоящие время эффектного (полиномиального) решения. Более того, сам вопрос существования эффективных алгоритмов решения NP – полных задач является до настоящего времени открытым. В связи с этим для чисел, состоящих из 200 цифр (а именно такие числа рекомендуются использовать), традиционные методы требуют выполнения огромного числа операций (около 10^23).
P.S. Защита базы данных
Автор:
Виктор Конюков
от 0:00:00
Источник ...
15.06.2007 19:58:10
Ирина3
2 сообщения
RE: Раскажите о методе шифрования RSA
Т е кодируется каждый символ в поле? например мне надо зашифровать слово "mama" как мне это сделать? Извините за столь подробные вопросы, пытаюсь "въехать" в криптографию, но чувствую знаний не хватает
P.S. Защита базы данных
Автор:
Ирина
от 27.10.2003 18:39:28
Источник ...
15.06.2007 19:58:10
All
4316 сообщения
RE: Раскажите о методе шифрования RSA
Каждый символ в слове имеет числовой код, его и надо зашифровывать. Смотрите для справки таблицу символов ASCII или Unicode
P.S. Защита базы данных
Автор:
Admin
от 0:00:00
Источник ...
15.06.2007 19:58:10
Ирина3
2 сообщения
RE: Раскажите о методе шифрования RSA
да, это я поняла. я его и пытаюсь зашифровать. Overflow :( Не даеть
P.S. Защита базы данных
Автор:
Ирина
от 28.10.2003 16:30:18
Источник ...
Страница 1 из 2
1
2
Следующий
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Раскажите...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования