Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Криптография

1.9K
19 февраля 2006 года
Rad87
123 / / 14.12.2005
Мне нужно зашифровать пароли и я не знаю в какую сторону мне нужно копать. Подскажите!
243
20 февраля 2006 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Rad87
Мне нужно зашифровать пароли и я не знаю в какую сторону мне нужно копать. Подскажите!


Советовал бы попробовать в гугле набрать "системы шифрования криптография"

324
20 февраля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by pacific_7
Советовал бы попробовать в гугле набрать "системы шифрования криптография"



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

14K
20 февраля 2006 года
lgv
15 / / 16.02.2006
Цитата:
Originally posted by Rad87
Мне нужно зашифровать пароли и я не знаю в какую сторону мне нужно копать. Подскажите!


1.Если тебе нужно сокрыть пароль от пользователя средней квалификации - от тетки-бухгалтерши, до любопытного студента недоучки, а это в 95% случаях достаточно! То работает безупречно шифрование по маске XOR (на ассемблере, очень удобно выполнять, если знаком с языком) или ^( в С-ной нотации. Это есть так называемое симметричное шифрование, т.е. ключ шифрования, совпадает с ключем дешифровки.
Например,
а. Генератор случайных чисел.
Генерируешь случайную последовательность с использованием штатного (который имеется в С) или самописанного генератора. Полученную гамму ключа накладываеш по маске XOR на пароль. Начальное значение всей гаммы и есть ключь шифра! Его можно отдельно генерировать или использовать постоянное значение, но прятать нужно хорошо.
b. С подсчетом частичной контрольной суммы ключа.
Ну например, выбораешь начальное значение ключа, накладываешь его по маске XOR на первый байт ключа, делее прибавляешь его к неизменеммному первому байту ключа, и накладываешь на второй и т.д. В общем здесь вариаций могут бать масса. От самой простой, которую я описал до весьма серьезных.
с. Простая маска XOR. Я использать рекомендую только для защиты от теток-бухгалтерш и до ученика 8-го классса с двойкой по математике. Постоянная последовательность байт накладывается но маске XOR на пароль.
d. Перестановочное шифрование (не симметроичное). Серьезные алгоритмы можеши поискать в инете, а простой можешь придумаь сам. Смысл такой, по определенному алгоритму перестанавливаешь местами во входной последовательность байы, биты, слова ( в общем случае блоков). Можно скомбинировать с XOR.
e. Я предпочитаю зашифрованные пароли не хранить, а хранить хэшь суммы паролей (упрощенно контрольные суммы паролей). В этом случае, нет необходимости держать ключ для расшифровки и самое главное такой подход не дает злоумышленнику механизма из хэшь суммы извлечь пароль.
f. может что-то еще упустил из простых алгоритмов. Сейчас не припомню, но в большинстве случаев вышеперечисленых алгоритмов хватает для создания собственной несложной системы шифрования. Дополню, часто эти алгоритмы не используют в чистом виде, а смешиваюи и комбинируют.

2. Если ты настроен работать с паролями по-серьезному и уровень студента недоучки тебя не устраивает, то надо серьезно учить матчасть по алгоритмам шифрования (можешь начать с DES-он сравнительно легок в изучении и реализации, но хорошо программируем, на ассемблере, для мазохистов на С) + хорошие знания ассемблера.

Надеюсь я дал тебе направление для дальнейшего поиска информации по шифрованию.

Андрей.

243
20 февраля 2006 года
pacific_7
1.9K / / 06.09.2004
Уважаемый, коли хочешь показать свою образованность, то не надо писать глупости, лучше тогда вообще не писать.
Цитата:
Originally posted by lgv
1.Если тебе нужно сокрыть пароль от пользователя средней квалификации - от тетки-бухгалтерши, до любопытного студента недоучки, а это в 95% случаях достаточно! То работает безупречно шифрование по маске [color=red]XOR[/color] (на ассемблере, очень удобно выполнять, если знаком с языком) [color=red]или ~( в С-ной нотации.[/color]


И:

Цитата:
Originally posted by lgv
(можешь начать с DES-он сравнительно легок в изучении и реализации, но программируем, только на ассемблере,[color=red] для мазохистов на С[/color])+ хорошие знания ассемблера.


Если учесть предыдущую цитату, то очевидны Ваши глубокие познания С. Естественно с такими познаниями делать на нем что-нить серьезное - сущий мазохизм.

14K
20 февраля 2006 года
lgv
15 / / 16.02.2006
Цитата:
Originally posted by pacific_7
Уважаемый, коли хочешь показать свою образованность, то не надо писать глупости, лучше тогда вообще не писать.

И:

Если учесть предыдущую цитату, то очевидны Ваши глубокие познания С. Естественно с такими познаниями делать на нем что-нить серьезное - сущий мазохизм.



Да действительно ошибся. Прошу прощения. Спасибо что заметили. Не часто пользуюсь операторами ~, ^.
А если по существу, кроме этого, какие глупости я написал? Человек, спросил с чего начать, очень легко ответить:"Что сильно умный?" или послать в инет за поиском.

534
20 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by Rad87
Мне нужно зашифровать пароли и я не знаю в какую сторону мне нужно копать. Подскажите!


Вто сорцы на алгоритм MD5 (VC++ 7)

243
20 февраля 2006 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by lgv
Человек, спросил с чего начать, очень легко ответить:"Что сильно умный?" или послать в инет за поиском.


Самый нормальный метод. Если я что-нить не знаю совершенно, то за теорией сразу в гугл иду. А вот по практике уже в форуме могу спросить. А пока нет теории в голове - о чем можно говорить? Только о том, что бы кто-то сделал за тебя.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог