Страница: 1 | 2 | 3 | 4 | 5 | 6 |
Вопрос: "№*?&}sdp/#& - шифорвание и все о нем | Добавлено: 04.06.08 02:37 |
Автор вопроса: ![]() |
Доброго времени суток!
Решил написать свой алгоритм шифрования... Опишите (хотя бы примерно) способы шифрования данных, коды не обязательно, но приветствуются =) Спасибо! |
Ответы | Всего ответов: 78 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #1 | Добавлено: 04.06.08 02:50 |
chr(asc(s$)+1)
![]() |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: adamis@list.ru Вопросов: 153 Ответов: 3632 |
Профиль | Цитата | #2 | Добавлено: 04.06.08 11:41 |
В серьез над такими вещами работают институты и университеты, профессура мат. наук и криптографы в частности.
Так что не стоит ерундой голову забивать ![]() Хочешь обмануть дурака используй хотяб метод Хоффмана, где-то даже готовый класс есть. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #3 | Добавлено: 04.06.08 12:06 |
да пару-тройку раз rc4 вполне хватит, чтоб не мучатся с aes ![]() |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 216390557 Вопросов: 25 Ответов: 71 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 04.06.08 19:16 |
Математика сие все есть.
Аж есмь любитель математики и свой алгоритм разрабатывать не смею, кольми паче ты, холоп в математике! (с.) Иоанн Грозный |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 29 Ответов: 284 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 04.06.08 19:31 |
а мой алгоритм очень простой (не требующий знаний в математике), но ооооочень сложно будет его расшифровать... даже имея алгоритм ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #6 | Добавлено: 06.06.08 02:22 |
та ну понятно, куда там Rijndael до твоего ![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 29 Ответов: 284 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 07.06.08 11:13 |
Вот на проверку:
Эта строка зашифрована моим алгоритмом с простым ключем[/u +мнфр]бюКьджя9Ч@бОТь %Ъ>п!н(#ИщЛМ+З$ЛсфрдТНлщЯь]ф5ОЁД0т а теперь попробуйте расшифровать строку ниже сами (ключ тотже): ;З()МНдМчЗоу?фч3ж(0омЫф|З)]*Йр0=шж ъ%9х*Щ^ |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 29 Ответов: 284 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 07.06.08 11:16 |
Ошибочка ![]() вот это попробуйте расшифровать Эта строка зашифрована моим алгоритмом с простым ключем ,я{&цл{&эПИм{;Т}ЩЫЭхЮ$ХЧ{цЕшОэ5ь}ВЛхЫФ&юИз}дрйв"&4аП?РГ
а теперь попробуйте расшифровать строку ниже сами (ключ тотже): Тщшдч~[Ио%й-7В$2=шх@дЛХА%-?}Ор4юх0*ю$ёю`О&
|
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #9 | Добавлено: 07.06.08 11:29 |
Берем стандартный брутус, пачку словарей — кило на 20, RC4 до 3х раз.... на пару недель и готово ![]() |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #10 | Добавлено: 07.06.08 11:38 |
И вообще, павел зачем ты даешь строку без ключа? если мы сперли строку, то 99% сопретм и ключъ :D хитрец |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 29 Ответов: 284 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 07.06.08 11:42 |
а что вы хотели может вам прогу и ключ еще скинуть, тогда вам останется непосильная задача нажать на кнопку "Расшифровать" ![]() вот представьте что там зашифрован код доступа к пентагону... что будете делать? |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 29 Ответов: 284 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 07.06.08 12:03 |
а если вы думаете что сможете воссоздать алгоритм... проще простого, а вот ключ... ну давайте:
вот строка "..............." -> "УБ|б.*п|зо.Я\ЭО" дайте мне ключ! P.S. пусть ученые и дальше ломают головы над совершенным алгоритмом!... все сложное не нужно, все нужное просто! ![]() |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 8 Ответов: 482 |
Профиль | Цитата | #13 | Добавлено: 07.06.08 19:33 |
вот для примера один из моих классов на базе АПИ
'''''''''''''''''''''''''''''''''''''''''''''' ' Esempio: Crittografare i dati usando DPAPI ' '''''''''''''''''''''''''''''''''''''''''''''' Imports System Imports System.Text Imports System.Runtime.InteropServices Imports System.ComponentModel Imports Microsoft.VisualBasic Public Class DPAPI < ![]() Private Shared Function CryptProtectData _ ![]() ByRef pPlainText As DATA_BLOB, _ ByVal szDescription As String, _ ByRef pEntropy As DATA_BLOB, _ ByVal pReserved As IntPtr, _ ByRef pPrompt As CRYPTPROTECT_PROMPTSTRUCT, _ ByVal dwFlags As Integer, _ ByRef pCipherText As DATA_BLOB _ ![]() End Function < ![]() Private Shared Function CryptUnprotectData _ ![]() ByRef pCipherText As DATA_BLOB, _ ByRef pszDescription As String, _ ByRef pEntropy As DATA_BLOB, _ ByVal pReserved As IntPtr, _ ByRef pPrompt As CRYPTPROTECT_PROMPTSTRUCT, _ ByVal dwFlags As Integer, _ ByRef pPlainText As DATA_BLOB _ ![]() End Function <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _ Friend Structure DATA_BLOB Public cbData As Integer Public pbData As IntPtr End Structure <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _ Friend Structure CRYPTPROTECT_PROMPTSTRUCT Public cbSize As Integer Public dwPromptFlags As Integer Public hwndApp As IntPtr Public szPrompt As String End Structure Private Const CRYPTPROTECT_UI_FORBIDDEN As Integer = 1 Private Const CRYPTPROTECT_LOCAL_MACHINE As Integer = 4 Private Shared Sub InitPrompt _ ![]() ByRef ps As CRYPTPROTECT_PROMPTSTRUCT _ ![]() ps.cbSize = Marshal.SizeOf(GetType(CRYPTPROTECT_PROMPTSTRUCT)) ps.dwPromptFlags = 0 ps.hwndApp = IntPtr.Zero ps.szPrompt = Nothing End Sub Private Shared Sub InitBLOB _ ![]() ByVal data As Byte(), _ ByRef blob As DATA_BLOB _ ![]() If data Is Nothing Then data = New Byte(0) {} End If blob.pbData = Marshal.AllocHGlobal(data.Length) If blob.pbData.Equals(IntPtr.Zero) Then Throw New Exception( _ "Impossibile allocare memoria per struttura BLOB" ![]() End If blob.cbData = data.Length Marshal.Copy(data, 0, blob.pbData, data.Length) End Sub Public Enum KeyType UserKey = 1 MachineKey End Enum Private Shared defaultKeyType As KeyType = KeyType.UserKey Public Shared Function Encrypt _ ![]() ByVal plainText As String _ ![]() Return Encrypt(defaultKeyType, plainText, String.Empty, String.Empty) End Function Public Shared Function Encrypt _ ![]() ByVal keyType As KeyType, _ ByVal plainText As String _ ![]() Return Encrypt(keyType, plainText, String.Empty, String.Empty) End Function Public Shared Function Encrypt _ ![]() ByVal keyType As KeyType, _ ByVal plainText As String, _ ByVal entropy As String _ ![]() Return Encrypt(keyType, plainText, entropy, String.Empty) End Function Public Shared Function Encrypt _ ![]() ByVal keyType As KeyType, _ ByVal plainText As String, _ ByVal entropy As String, _ ByVal description As String _ ![]() If plainText Is Nothing Then plainText = String.Empty End If If entropy Is Nothing Then entropy = String.Empty End If Return Convert.ToBase64String( _ Encrypt(keyType, _ Encoding.UTF8.GetBytes(plainText), _ Encoding.UTF8.GetBytes(entropy), _ description)) End Function Public Shared Function Encrypt _ ![]() ByVal keyType As KeyType, _ ByVal plainTextBytes As Byte(), _ ByVal entropyBytes As Byte(), _ ByVal description As String _ ![]() If plainTextBytes Is Nothing Then plainTextBytes = New Byte(0) {} End If If entropyBytes Is Nothing Then entropyBytes = New Byte(0) {} End If If description Is Nothing Then description = String.Empty End If Dim plainTextBlob As DATA_BLOB = New DATA_BLOB Dim cipherTextBlob As DATA_BLOB = New DATA_BLOB Dim entropyBlob As DATA_BLOB = New DATA_BLOB Dim prompt As _ CRYPTPROTECT_PROMPTSTRUCT = New CRYPTPROTECT_PROMPTSTRUCT InitPrompt(prompt) Try Try InitBLOB(plainTextBytes, plainTextBlob) Catch ex As Exception Throw New Exception("Impossibile inizializzare BLOB del testo.", ex) End Try Try InitBLOB(entropyBytes, entropyBlob) Catch ex As Exception Throw New Exception("Impossibile inizializzare BLOB della entropia.", ex) End Try Dim flags As Integer = CRYPTPROTECT_UI_FORBIDDEN If keyType = KeyType.MachineKey Then flags = flags Or (CRYPTPROTECT_LOCAL_MACHINE) End If Dim success As Boolean = CryptProtectData( _ plainTextBlob, _ description, _ entropyBlob, _ IntPtr.Zero, _ prompt, _ flags, _ cipherTextBlob) If Not success Then Dim errCode As Integer = Marshal.GetLastWin32Error() Throw New Exception("Errore CryptProtectData", _ New Win32Exception(errCode)) End If Dim cipherTextBytes(cipherTextBlob.cbData) As Byte Marshal.Copy(cipherTextBlob.pbData, cipherTextBytes, 0, _ cipherTextBlob.cbData) Return cipherTextBytes Catch ex As Exception Throw New Exception("Impossibile cryptare dati", ex) Finally If Not (plainTextBlob.pbData.Equals(IntPtr.Zero)) Then Marshal.FreeHGlobal(plainTextBlob.pbData) End If If Not (cipherTextBlob.pbData.Equals(IntPtr.Zero)) Then Marshal.FreeHGlobal(cipherTextBlob.pbData) End If If Not (entropyBlob.pbData.Equals(IntPtr.Zero)) Then Marshal.FreeHGlobal(entropyBlob.pbData) End If End Try End Function Public Shared Function Decrypt _ ![]() ByVal cipherText As String _ ![]() Dim description As String Return Decrypt(cipherText, String.Empty, description) End Function Public Shared Function Decrypt _ ![]() ByVal cipherText As String, _ ByRef description As String _ ![]() Return Decrypt(cipherText, String.Empty, description) End Function Public Shared Function Decrypt _ ![]() ByVal cipherText As String, _ ByVal entropy As String, _ ByRef description As String _ ![]() If entropy Is Nothing Then entropy = String.Empty End If Return Encoding.UTF8.GetString( _ ![]() Encoding.UTF8.GetBytes(entropy), description)) End Function Public Shared Function Decrypt _ ![]() ByVal cipherTextBytes As Byte(), _ ByVal entropyBytes As Byte(), _ ByRef description As String _ ![]() Dim plainTextBlob As DATA_BLOB = New DATA_BLOB Dim cipherTextBlob As DATA_BLOB = New DATA_BLOB Dim entropyBlob As DATA_BLOB = New DATA_BLOB Dim prompt As _ CRYPTPROTECT_PROMPTSTRUCT = New CRYPTPROTECT_PROMPTSTRUCT InitPrompt(prompt) description = String.Empty Try Try InitBLOB(cipherTextBytes, cipherTextBlob) Catch ex As Exception Throw New Exception("Impossibile inizializzare cipherTextBlob", ex) End Try Try InitBLOB(entropyBytes, entropyBlob) Catch ex As Exception Throw New Exception("Impossibile inizializzare entropyBlob", ex) End Try Dim flags As Integer = CRYPTPROTECT_UI_FORBIDDEN Dim success As Boolean = CryptUnprotectData( _ cipherTextBlob, _ description, _ entropyBlob, _ IntPtr.Zero, _ prompt, _ flags, _ plainTextBlob) If Not success Then Dim errCode As Integer = Marshal.GetLastWin32Error() Throw New Exception("Errore CryptUnprotectData", _ New Win32Exception(errCode)) End If Dim plainTextBytes(plainTextBlob.cbData) As Byte Marshal.Copy(plainTextBlob.pbData, plainTextBytes, 0, _ plainTextBlob.cbData) Return plainTextBytes Catch ex As Exception Throw New Exception(" ![]() Finally If Not (plainTextBlob.pbData.Equals(IntPtr.Zero)) Then Marshal.FreeHGlobal(plainTextBlob.pbData) End If If Not (cipherTextBlob.pbData.Equals(IntPtr.Zero)) Then Marshal.FreeHGlobal(cipherTextBlob.pbData) End If If Not (entropyBlob.pbData.Equals(IntPtr.Zero)) Then Marshal.FreeHGlobal(entropyBlob.pbData) End If End Try End Function End Class |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ICQ: ненавижу Вопросов: 28 Ответов: 317 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 07.06.08 20:45 |
бтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтб
угадайте о чем это? ![]() |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ICQ: ненавижу Вопросов: 28 Ответов: 317 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 07.06.08 20:49 |
Подсказка
бтбтбтбт бтбтбтбт бтбтбтбт бтбтбтбт |
|