Visit our Sponsor   Visit our Sponsor
delphi3000.com - the free delphi knowledge platform
delphi3000.com - the free delphi knowledge platform
497 Users Online NOW
Have a look at your member-status

connecting people's knowledge


  - Recent ArticlesRSS feed for Recent Articles on delphi3000.com
  - List of All Articles
  - Top Viewed Articles
  - Articles (+Attachem.)
  - Articles Of Interest
  - Categories
  - Top Uploader
  - Search
  - Index

  - My Home
  - Submit an Article
  - My Articles
  - My Personal Data
  - My Bookmarks
  - Activities
  - Login/Logout

  - Sign Up
  - Why Sign Up
  - Newsletter

  - Press
  - Advertise

  - Contact
  - Feedback





Community
Borland
ClubeDelphi
Dr. Bob
UK-BUG
Delphi Meetings
Planeta Delphi



Loremo - the 1.5 liter car coming in 2009




Startblatt.de






Share this article with friendsShare this article with friends
Rate this articleRate this article - to keep the quality of delphi3000.com !
Comment this article or read through previous comments (2)


Secure compression componentFormat this article printer-friendly!Bookmark function is only available for registered users!
Product:
Delphi all versions
Category:
Security
Skill Level:
Scoring:
Last Update:
04/30/2003
Search Keys:
delphi delphi3000 article borland vcl code-snippet Delphi, Compression, Encryption
Times Scored:
7
Visits:
3372
Uploader: Ronald Douson
Company:
Reference: N/A
 
Question/Problem/Abstract:
Compressing files with strong encryption
Answer:



Secure compression component
My chief asked me to find a Delphi compression component for our new project which can also give us a really strong encryption. The security is in great demand nowadays; I think you know why. So I gained additional requirements for this task and I got the following result. The dream-component must be able to compress multiple files, to protect archive with strong encryption and to span archive on multiple disks. Also we would like to see a native VCL without any ActiveX or DLL garbage.

Zip?
My first idea was to use some ZIP library, but I suspect that it will not be enough secure. I heard that ZIP encryption is very weak, but now I have to check whether ZIP password protection is so bad. Sad to say, ZIP is really not secure system. I found a lot of ZIP password recovery programs that allow to get a password for any protected ZIP file within a few hours. So I realized that ZIP is not a solution for secure backup.

Rar?
WinRar is known as really secure archive which also provides much better compression that ZIP do. So I think if I will find VCL which supports RAR format, it will be the best choice. But I was deeply disappointed. There is no developers library that is capable to create RAR archive as it is prohibited by the RAR license. Only decompression of RAR is available but it requires unrar.dll which was also undesirable for me. So I have to go on.

I’ve got it!
After several days of exploring most popular Delphi sites and downloading third-party compression components, I faced that none of the products I had tried support strong encryption. I was unpleasantly surprised by this fact but continued my search and I discovered rather interesting solution: FlexCompress from AidAim Software (http://www.aidaim.com). This file compression component claims to support 5 encryption algorithms including Rijndael with 256-bit key (the Advanced Encryption Standard), BlowFish and triple DES. I was intrigued and downloaded the product.

Trying FlexCompress
I installed the trial version of FlexCompress on my Delphi 7 to test it. Encryption and multi-spanning features worked well as I expected. The component compiled into exe file of my application and didn’t require any dlls. I also noticed SFX, support for files larger than 4 Gb and streaming support. I didn’t test these additional features thoroughly as I didn’t need them in my current project. But I was pleased to see so rich features set. I found help manual and sample applications to be well done, but not as comprehensive as I like. Also I think error handling could be described better there. However the documentation and demos were very helpful for me and I needed them pretty seldom, as it should be in a well-designed product.

Checking tech support
I was glad to see that FlexCompress is not a freeware. I dealt a lot with different third-party tools for Delphi and my experience shows that freeware tools usually have very poor support and documentation. I don’t like to be left alone with the bug in the third-party component widely used in my project or to spend hours finding out how to use it for my tasks. That’s why I always write to tech guys of any company before I buy something there. I sent my question to AidAim’s support and I appreciated their fantastic promptness. I got detailed answer within 2 hours and ordered it immediately.

Conclusion
Now after month of real use I still consider FlexCompress to be a pretty good archiving solution. Although FlexCompress is now far beyond the competitors in its category, I hope to see more high-quality products available on the compression components market in the future. Hard competition produces the best quality and then we all will win.

Ronald Douson,
Senior developer,
Genius Solutions, Inc
mailto: douson@softhome.net





Please rate this article!
Skill level:
BeginnerExpert

Useful:
No!Very!

Overall rating:
PoorExcellent



Comments to this article
Write a new comment
a few suggestions
    Mike Shkolnik (May 11 2003 5:51PM)

You may use standard ZIP compression but with next additions:
- every file in zip-archvie can have own password. So to break such archive is not trivial task
- before compression you may encrypt data your self with any strong algorithm (RSA, elliptic curves etc)
Respond

Zip correction
    anonymus (May 7 2003 7:30PM)

All the zip password crackers I have seen are brute force crackers - they try every possible password in a keyspace until they find a match.  This technique will work for any algorythm.  This all exploits a weakness in the USER's ability to pick a proper password, which is the biggest weakness for cryptography, not the algorythm.

If you want a non-standard solution, like AidAim, then I would suggest using one of the well documented free Zip libraries (like Abreva from TurobPower on sf.net) and one of the many well supported free Crypto librararies.  

http://www.Crypto-Central.com  

http://www.cityinthesky.co.uk/cryptography.html

or Turbopower's LockBox

http://sf.net/project/tplockbox

All are free, well documentated and well supported.  
Respond














 
Sign up to consume product discounts for Bronze memberships !

read more


  Visit our Sponsor

 

  Community Ad of
E. DSpirito
 
   














 







     
  Copyright © 2000 - 2007 delphi3000.com - All rights reserved. Terms of use. || Privacy
delphi3000.com is a service by bluestep.com IT-Services GmbH (Vienna)