|
Salt Values
Salt values make up a portion of many session keys, as shown.
As with the key bits, the salt bits also consist of random data. The
difference is that the key bits must be kept secret at all costs, while the salt values
are made public. When exchanging keys using the CryptoAPI, the key bits are
transmitted inside of encrypted key blobs. The salt bits, on the other hand, are
transmitted in plaintext form.
The size of the salt values will vary, depending on the CSP used. For example,
the Microsoft RSA Base Provider uses salt values of 88 bits and key values of
40 bits, for a total key size of 128 bits. Even though the salt bits make up
part of each encryption key, they are usually ignored when discussing keys and
key sizes. That is, when talking about Microsoft RSA Base Provider encryption
keys, we refer to them as 40 bit keys.
Salt values are most useful when transmitting or storing large amounts of
nearly identical packets using the same encryption key. Normally, two identical
packets would encrypt into two identical ciphertext packets. However, this would
indicate to an eavesdropper that the packets are identical and, thus, could be
attacked simultaneously. But, if the salt value is changed with every packet
sent, then a completely different ciphertext packet will always be generated, even
if the plaintext packets are the same.
Because salt values need not be kept secret and can be transmitted in
plaintext form bundled with each ciphertext packet, it is much easier to change salt
values once per packet than it would be to change the key value itself.
Applications should generate salt values with the CryptGenRandom function. It is important that each salt value be completely different than
the other ones, particularly when using stream ciphers.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|