PDA

View Full Version : سوال: طریقه ایجاد key در توابع hashing مثل hash_hmac



eminem.encore
شنبه 31 فروردین 1392, 14:31 عصر
سلام. لطفاً کسی راهنماییم کنه دوستان. چطوری میتونیم key ایجاد کنیم؟ میگن بحث سنگینیه خودمون نمیتونیم درست کنیم پس راه حل چیه؟ منبعی چیزی. اگه سخته پس از چه key هایی استفاده کنیم.

eshpilen
شنبه 31 فروردین 1392, 18:02 عصر
کلید؟
کلید میخوای واسه چی؟
میدونی HMAC چیه و واسه چی استفاده میشه؟ برای چی میخوای استفاده کنی؟
برای تولید کلید هم میتونی از یک تابع رندوم امنیتی (مناسب جهت کاربردهای رمزنگاری) استفاده کنی.
مثلا این تابع: http://www.hamidreza-mz.tk/?p=649
توصیه میشه طول کلید حداقل 128 بیت باشه.
یعنی:

random_bytes(16)
یا

random_string(22)
بدین معنی که حداقل تعداد حالتهای کلید 2 به توان 128 باشه.

وقتی هم که بخوایم از پسورد کلید تولید کنیم داستان دیگری داره؛ ولی خیلی از کتابخانه های رمزنگاری خودشون توابعی برای این کار دارن و کافیه پسورد رو بدید به تابع مربوطه تا تبدیل به کلید و در عملیات رمزنگاری استفاده بشه.
البته استفاده از پسورد توصیه نمیشه مگر اینکه مجبور باشید، یا اینکه پسورد واقعا قوی باشه. چون معمولا آنتروپی پسوردها از کلیدهای رندوم خیلی کمتره و حتی با Key stretching هم امنیت پایینتری دارن.