Страница: 1 | 2 | 3 | 4 | 5 | 6 |
Вопрос: "№*?&}sdp/#& - шифорвание и все о нем
Добавлено: 04.06.08 02:37
Автор вопроса: __Pavel__ | Web-сайт:
Доброго времени суток!
Решил написать свой алгоритм шифрования...
Опишите (хотя бы примерно) способы шифрования данных, коды не обязательно, но приветствуются =)
Спасибо!
Ответы
Всего ответов: 78
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 04.06.08 02:50
chr(asc(s$)+1)
Номер ответа: 2
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #2
Добавлено: 04.06.08 11:41
В серьез над такими вещами работают институты и университеты, профессура мат. наук и криптографы в частности.
Так что не стоит ерундой голову забивать
Хочешь обмануть дурака используй хотяб метод Хоффмана, где-то даже готовый класс есть.
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 04.06.08 12:06
да пару-тройку раз rc4 вполне хватит, чтоб не мучатся с aes
Номер ответа: 4
Автор ответа:
Boconon
ICQ: 216390557
Вопросов: 25
Ответов: 71
Web-сайт:
Профиль | | #4
Добавлено: 04.06.08 19:16
Математика сие все есть.
Аж есмь любитель математики и свой алгоритм разрабатывать не смею, кольми паче ты, холоп в математике!
(с.) Иоанн Грозный
Номер ответа: 5
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #5
Добавлено: 04.06.08 19:31
а мой алгоритм очень простой (не требующий знаний в математике), но ооооочень сложно будет его расшифровать... даже имея алгоритм
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 06.06.08 02:22
та ну понятно, куда там Rijndael до твоего
Номер ответа: 7
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #7
Добавлено: 07.06.08 11:13
Вот на проверку:
Эта строка зашифрована моим алгоритмом с простым ключем[/u
+мнфр]бюКьджя9Ч@бОТь %Ъ>п!н(#ИщЛМ+З$ЛсфрдТНлщЯь]ф5ОЁД0т
а теперь попробуйте расшифровать строку ниже сами (ключ тотже):
;З()МНдМчЗоу?фч3ж(0омЫф|З)]*Йр0=шж ъ%9х*Щ^
Номер ответа: 8
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #8
Добавлено: 07.06.08 11:16
Ошибочка
вот это попробуйте расшифровать
Эта строка зашифрована моим алгоритмом с простым ключем
а теперь попробуйте расшифровать строку ниже сами (ключ тотже):
Номер ответа: 9
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #9
Добавлено: 07.06.08 11:29
Берем стандартный брутус, пачку словарей — кило на 20, RC4 до 3х раз.... на пару недель и готово
Номер ответа: 10
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #10
Добавлено: 07.06.08 11:38
И вообще, павел зачем ты даешь строку без ключа? если мы сперли строку, то 99% сопретм и ключъ :D хитрец
Номер ответа: 11
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #11
Добавлено: 07.06.08 11:42
а что вы хотели может вам прогу и ключ еще скинуть, тогда вам останется непосильная задача нажать на кнопку "Расшифровать" ))
вот представьте что там зашифрован код доступа к пентагону... что будете делать?
Номер ответа: 12
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #12
Добавлено: 07.06.08 12:03
а если вы думаете что сможете воссоздать алгоритм... проще простого, а вот ключ... ну давайте:
вот строка "..............." -> "УБ|б.*п|зо.Я\ЭО" дайте мне ключ!
P.S. пусть ученые и дальше ломают головы над совершенным алгоритмом!... все сложное не нужно, все нужное просто!
Номер ответа: 13
Автор ответа:
BUMM ®
Вопросов: 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
<llImport("crypt32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
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 _
  As Boolean
End Function
<llImport("crypt32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
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 _
  As Boolean
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 _
  As String
Return Encrypt(defaultKeyType, plainText, String.Empty, String.Empty)
End Function
Public Shared Function Encrypt _
  _
ByVal keyType As KeyType, _
ByVal plainText As String _
  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 _
  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 _
  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 _
  As Byte()
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 _
  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 _
  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 _
  As String
If entropy Is Nothing Then
entropy = String.Empty
End If
Return Encoding.UTF8.GetString( _
 ecrypt(Convert.FromBase64String(cipherText), _
Encoding.UTF8.GetBytes(entropy), description))
End Function
Public Shared Function Decrypt _
  _
ByVal cipherTextBytes As Byte(), _
ByVal entropyBytes As Byte(), _
ByRef description As String _
  As Byte()
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("PAPI non puo decrittare i 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
End Class
Номер ответа: 14
Автор ответа:
Smith
ICQ: ненавижу
Вопросов: 28
Ответов: 317
Web-сайт:
Профиль | | #14
Добавлено: 07.06.08 20:45
бтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтбтб
угадайте о чем это? ))))))))))))))
Номер ответа: 15
Автор ответа:
Smith
ICQ: ненавижу
Вопросов: 28
Ответов: 317
Web-сайт:
Профиль | | #15
Добавлено: 07.06.08 20:49
Подсказка
бтбтбтбт
бтбтбтбт
бтбтбтбт
бтбтбтбт