PRNG в iOS KeyChain

Шефът ми ме пита кой PRGN (генератор на псевдо случайни числа) използва нашето приложение за iOS за криптиране и декриптиране на данни.

Използваме собствените услуги на KeyChain за съхраняване на данните и не знам какво да отговоря, тъй като използваме KeyChainItemWrapper за достъп до отделните елементи, т.е. парола, портове и т.н. в нашето приложение и няма твърде много справки за това .

Вече отстраних грешки в приложението, за да видя дали ще намеря нещо, но все още не можах да намеря нещо.

Всяка помощ ще бъде оценена, благодаря


person Leonoro    schedule 27.02.2015    source източник
comment
arc4random е основният генератор на OS-X. Не намерих никаква документация, която да казва, че това се използва в KeyChain, но бих заложил на него. Разгледайте неговата man страница. Между другото, това е PRNG, а не PRGN.   -  person pjs    schedule 27.02.2015


Отговори (1)


Ако имате нужда от произволни байтове, за разлика от произволно число:

randomBytes: връща броя произволни байтове в *байтове, разпределени от повикващия.
Връща 0 при успех или -1, ако нещо се обърка, проверете errno, за да разберете истинската грешка.

#import <Security/Security.h> 

+ (NSData *)randomBytes:(size_t)count
{
    NSMutableData *data = [NSMutableData dataWithLength:count];
    SecRandomCopyBytes( kSecRandomDefault,
                        data.length,
                        data.mutableBytes);
    return data;
}

Не забравяйте да добавите защитната рамка.

person zaph    schedule 27.02.2015