Brian, 
This, accidentally, didn’t go to the list. Sorry.

Thanks for your reply. I will look into the OpenSSL utility. But, from what I 
can figure, it seems that the decode process extracts the salt from the 
encrypted password. And for me, I’m encrypting a MySQL query, so I assume it 
will be the same. I’m not on my computer for a week or so now, but I think I’m 
far enough along to solve this by diddling with the php.

Best,
Bill

William Prothero
http://earthlearningsolutions.org

> On Jun 6, 2018, at 6:44 PM, Brian Milby <br...@milby7.com> wrote:
> 
> From the dictionary:
> 
> The password and salt value are combined and scrambled to form the key and IV 
> which are used as described above. The key derivation process is the same as 
> that used in the openSSL utility. A 16-byte salt prefix is prepended to the 
> encrypted data, based on the salt value. This is used in decryption. If no 
> salt value is specified for a password, one is randomly generated. The use of 
> a randomized salt value is a protection against dictionary attacks.
> 
> I have not tried this yet though. One point is that it is either key and IV 
> or password and salt.
>> On Jun 6, 2018, 6:50 PM -0500, prothero--- via use-livecode 
>> <use-livecode@lists.runrev.com>, wrote:
>> Kee,
>> So does the decrypt need the salt somehow? Or does it get it from the stuff 
>> that is encrypted with the salt? That is, when I encrypt “with salt my salt” 
>> does the decode function somehow get the salt from the encoded data, because 
>> it has the “key”?
>> 
>> Btw, thanks for responding,
>> Bill
>> 
>> William Prothero
>> http://earthlearningsolutions.org
>> 
>>> On Jun 6, 2018, at 3:48 PM, kee nethery via use-livecode 
>>> <use-livecode@lists.runrev.com> wrote:
>>> 
>>> There is a bunch of basic info on the use of a salt on the web. The 
>>> wikipedia article is a good start. It depends upon where and how you are 
>>> using it. Mostly they discuss using a salt with a hash function. They 
>>> recommend a long salt. They recommend storing the salt with the hashed 
>>> password.
>>> 
>>> User enters their name and password. You look up the salt for their name. 
>>> You hash the password they provided using the salt you have stored for 
>>> them. You compare the hash with the hash you had stored. If they match, 
>>> bingo.
>>> 
>>> The salt eliminates the ability for a hacker to use a rainbow table. It is 
>>> trivial to buy a CD of all hashes for all possible password that are 1 to 
>>> 14 characters in length. Take a hash, look it up on the CD, and it displays 
>>> the original password that created that hash.
>>> 
>>> Now … if you use a salt, your hash for that password will not match the 
>>> hash for that password in the rainbow table on the CD. If you have a 32 
>>> character salt that is different for each password, assuming lower and 
>>> upper case ascii and numbers (26 + 26 + 10 = 62) the number of possible 
>>> salts for a 32 char salt is 62^32. To pre-compute rainbow table for each 14 
>>> char possible password would mean 2.27 * 10^57 rainbow tables. Just isn’t 
>>> practical. So they would have to snag your password table, see the salts 
>>> for each password, create a rainbow table for that salt, then do a lookup 
>>> to see if the hash you stored is in the rainbow table. if yes, they know 
>>> the users password. For the next password, new rainbow table.
>>> 
>>> So for a password hash, use a 32 char salt, and store the salt along with 
>>> the password hash, and toss the password, don’t store it.
>>> 
>>> Kee
>>> 
>>>> On Jun 6, 2018, at 2:52 PM, prothero--- via use-livecode 
>>>> <use-livecode@lists.runrev.com> wrote:
>>>> 
>>>> I’m in LC 9.0.0 and Encryption is discussed, and the code is shown to set 
>>>> a salt. However, the docs say it’s beyond the scope of the docs to explain 
>>>> how to choose a salt. For example, how many characters need to be in a 
>>>> salt. Are any characters permissible? Are all character formats 
>>>> permissible? There is no guidance on what makes an acceptable salt.
>>>> 
>>>> Best,
>>>> Bill
>>>> 
>>>> William Prothero
>>>> http://earthlearningsolutions.org
>>>> 
>>>>> On Jun 6, 2018, at 2:40 PM, Bob Sneidar via use-livecode 
>>>>> <use-livecode@lists.runrev.com> wrote:
>>>>> 
>>>>> The encrypt command in the dictionary has that info.
>>>>> 
>>>>> Bob S
>>>>> 
>>>>> 
>>>>>> On Jun 6, 2018, at 14:16 , prothero--- via use-livecode 
>>>>>> <use-livecode@lists.runrev.com> wrote:
>>>>>> 
>>>>>> I’ve been having questions about aes 256 encryption lately. I encrypt 
>>>>>> MySQL queries and data ,(in livecode) before sending it to a php script 
>>>>>> on my remote server. The php version returns a warning message that I am 
>>>>>> not using a salt, which reduces security. Ok, but I can’t find info 
>>>>>> about how to create and use salts. What are the parameters needed to 
>>>>>> make a salt, and do I have to do anything to my decode script in php to 
>>>>>> make it recognize the salt?
>>>>>> 
>>>>>> It would be wonderful if there was a sample code for this.
>>>>>> 
>>>>>> Best,
>>>>>> Bill
>>>>>> 
>>>>>> William Prothero
>>>>>> http://earthlearningsolutions.org
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to