RSA 2048, Blowfish, Rijndael, Whirlpool PureLib

Developed or developing a new product in PureBasic? Tell the world about it.
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Post by Inf0Byt3 »

No problem :). Just be sure to make some tests before using the lib, for me it seemed a bit dodgy (sometimes the data wasn't decrypted correctly but it might have been the way I used it). For some time I use a modified RC4 stream cipher that works great.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
Luna
New User
New User
Posts: 1
Joined: Mon May 11, 2009 4:45 am

Post by Luna »

JCV wrote:I added another library

BLOWFISH and RIJNDAEL

See first post.
Where can I find BLOWFISH and RIJNDAEL? When was the last time your added this library?



_________________
4396710
PBUser
User
User
Posts: 20
Joined: Mon Aug 20, 2007 6:03 pm
Location: Germany

Post by PBUser »

All those links are down. Could someone please reupp that awesome libraries? I know that much of the sourcecode was posted in that topic, but some functions are missing (e.g. blowfish_init)
JCV
Enthusiast
Enthusiast
Posts: 580
Joined: Fri Jun 30, 2006 4:30 pm
Location: Philippines

Post by JCV »

Even though I want to help, I'm very far from my home pc and I dont have backup here with me in abroad. Sorry mate.
I'll try if I can re upload all dead links.

[Registered PB User since 2006]
[PureBasic 6.20][SpiderBasic 2.2]
[RP4 x64][Win 11 x64][Ubuntu x64]
reijin
New User
New User
Posts: 4
Joined: Sun Jun 08, 2008 1:19 pm
Location: Germany

Post by reijin »

one month later im asking also for a re up^^

cant someone of the users who already have downloaded the lib re up it?
User avatar
HeX0R
Addict
Addict
Posts: 1189
Joined: Mon Sep 20, 2004 7:12 am
Location: Hell

Post by HeX0R »

At least the blowfish thing is available as source here.
User avatar
DoubleDutch
Addict
Addict
Posts: 3220
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Post by DoubleDutch »

HeXOR: Thanks for the link. :)
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
JCV
Enthusiast
Enthusiast
Posts: 580
Joined: Fri Jun 30, 2006 4:30 pm
Location: Philippines

Post by JCV »

@reijin
I dont know which lib you need. And I dont have access to my home pc.

But I have a beta libs here.
Works both unicode & Non-unicode.
IncludeFile + Static Library
Use at your own risk. You can modify the includefile if you want.
ProcedureDLL.l PureCrypt_GOST_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_GOST_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_AES_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_AES_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_RC6_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_RC6_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_RC5_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_RC5_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_RC2_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_RC2_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_CAST128_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_CAST128_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_MARS_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_MARS_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_IDEA_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_IDEA_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_DES_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_DES_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_TWOFISH_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_TWOFISH_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_THREEWAY_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_THREEWAY_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_TEA_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_TEA_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_XTEA_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_XTEA_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_BLOWFISH_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_BLOWFISH_Decoder(*Buffer, keys.s)

Debug PureHash_WhirlpoolFingerprint(@string_sample, Len(string_sample))
Debug PureHash_MD5Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_MD4Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_MD2Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_TigerFingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA512Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA256Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA1Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA0Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD320Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD256Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD160Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD128Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_HAVALFingerprint(@string_sample, Len(string_sample))

[Registered PB User since 2006]
[PureBasic 6.20][SpiderBasic 2.2]
[RP4 x64][Win 11 x64][Ubuntu x64]
reijin
New User
New User
Posts: 4
Joined: Sun Jun 08, 2008 1:19 pm
Location: Germany

Post by reijin »

JCV wrote:@reijin
I dont know which lib you need. And I dont have access to my home pc.

But I have a beta libs here.
Works both unicode & Non-unicode.
IncludeFile + Static Library
Use at your own risk. You can modify the includefile if you want.
ProcedureDLL.l PureCrypt_GOST_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_GOST_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_AES_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_AES_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_RC6_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_RC6_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_RC5_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_RC5_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_RC2_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_RC2_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_CAST128_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_CAST128_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_MARS_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_MARS_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_IDEA_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_IDEA_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_DES_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_DES_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_TWOFISH_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_TWOFISH_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_THREEWAY_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_THREEWAY_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_TEA_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_TEA_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_XTEA_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_XTEA_Decoder(*Buffer, keys.s)

ProcedureDLL.l PureCrypt_BLOWFISH_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_BLOWFISH_Decoder(*Buffer, keys.s)

Debug PureHash_WhirlpoolFingerprint(@string_sample, Len(string_sample))
Debug PureHash_MD5Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_MD4Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_MD2Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_TigerFingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA512Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA256Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA1Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_SHA0Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD320Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD256Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD160Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_RMD128Fingerprint(@string_sample, Len(string_sample))
Debug PureHash_HAVALFingerprint(@string_sample, Len(string_sample))
in fact i need the rijndael lib
i thank you for your work - sad that you cant access your homepc.
im looking forward to see the libs reuploaded :)

greetings from germany ;)
JCV
Enthusiast
Enthusiast
Posts: 580
Joined: Fri Jun 30, 2006 4:30 pm
Location: Philippines

Post by JCV »

just play with the includefile. rijndael?
ProcedureDLL.l PureCrypt_AES_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_AES_Decoder(*Buffer, keys.s)

[Registered PB User since 2006]
[PureBasic 6.20][SpiderBasic 2.2]
[RP4 x64][Win 11 x64][Ubuntu x64]
reijin
New User
New User
Posts: 4
Joined: Sun Jun 08, 2008 1:19 pm
Location: Germany

Post by reijin »

JCV wrote:just play with the includefile. rijndael?
ProcedureDLL.l PureCrypt_AES_Encoder(*Buffer, keys.s)
ProcedureDLL.l PureCrypt_AES_Decoder(*Buffer, keys.s)
yeah thanks
User avatar
Jacobus
Enthusiast
Enthusiast
Posts: 139
Joined: Wed Nov 16, 2005 7:51 pm
Location: France
Contact:

Post by Jacobus »

Hello! I get an error : invalid memory access for each proceduredll
example : ProcedureDLL.l PureCrypt_AES_Decoder(*Buffer, keys.s)

Code: Select all

FreeMemory(*Out) <--- here
  FreeMemory(*bytTemp)
  FreeMemory(*bytTempOut)
Are there a solution to avoid this?
it's work if i comment all

Code: Select all

;FreeMemory(*Out) <--- here
  ;FreeMemory(*bytTemp)
  ;FreeMemory(*bytTempOut)
Thanks
PureBasicien tu es, PureBasicien tu resteras.
User avatar
Sveinung
Enthusiast
Enthusiast
Posts: 142
Joined: Tue Oct 07, 2003 11:03 am
Location: Bergen, Norway

Post by Sveinung »

To get it work on win7 I hade to do this

Code: Select all

ProcedureDLL.i PureCrypt_BLOWFISH_Decoder(*Buffer, keys.s)
  Protected *bytTemp, *bytTempOut, *Out, *bytMessage
  Protected lLength, lEncodedLength, lCount, res.s

  Protected *pKeys
  keys = LSet(keys, 32, "0")
  *pKeys = AllocateMemory(Len(keys)*2+1)
  PokeS(*pKeys, keys)
  BlowfishInit(*pKeys, 32)
  FreeMemory(*pKeys)

  lEncodedLength = MemorySize(*Buffer) + 1
  If lEncodedLength % #BLOWFISH_BLOCKSIZE <> 0
    ProcedureReturn 
  EndIf

  *Out = AllocateMemory(lEncodedLength - 1)
  *bytTemp = AllocateMemory(#BLOWFISH_BLOCKSIZE)
  *bytTempOut = AllocateMemory(#BLOWFISH_BLOCKSIZE)
  
  For lCount = 0 To lEncodedLength - 1 Step #BLOWFISH_BLOCKSIZE
    CopyMemory(*Buffer+lCount, *bytTemp, #BLOWFISH_BLOCKSIZE)
    BlowfishDecrypt(*bytTemp, *bytTempOut)
    CopyMemory(*bytTempOut, *Out+lCount, #BLOWFISH_BLOCKSIZE)
  Next lCount
  
  res=PeekS(*Out+4)

  FreeMemory(*Out)
  FreeMemory(*bytTemp)
  FreeMemory(*bytTempOut)
    
  ProcedureReturn @res
EndProcedure
Regards
Sveinung
User avatar
Jacobus
Enthusiast
Enthusiast
Posts: 139
Joined: Wed Nov 16, 2005 7:51 pm
Location: France
Contact:

Post by Jacobus »

Thank you for sharing this correction. :) It work fine with Vista also.
PureBasicien tu es, PureBasicien tu resteras.
User avatar
ar-s
Enthusiast
Enthusiast
Posts: 344
Joined: Sat Oct 06, 2007 11:20 pm
Location: France

Re: RSA 2048, Blowfish, Rijndael, Whirlpool PureLib

Post by ar-s »

JCV wrote:Availabe PureLibs

Encryption/Decryption
1. RSA 2048 Bits
2. Blowfish
3. Rijndael

Hashing
1. Whirlpool

Before downloading the link below, you should be aware about encryption export laws on your country.
RSA 2048 Bit LINK
BLOWFISH LINK
RIJNDAEL LINK
WHIRLPOOL LINK

@traumatic thanks for your help. :D
Hum it looks great but...links are dead :!:
~Ar-S~
My Image Hoster for PB users
My webSite (french) with PB apps : LDVMULTIMEDIA
PB - 3.x / 5.7x / 6 - W11 x64 - Ryzen 7 3700x / #Rpi4

Code: Select all

r3p347 : 7ry : un71l d0n3 = 1
Post Reply