Intel Core i5 (Clarkdale): AES დაშიფვრის ტექნიკის აჩქარების ანალიზი. ახალი Intel® AES დაშიფვრის ინსტრუქციების გამოყენება Android-ში

ბიჭებო, საჩუქარი ყველას. ჩვენ ვსაუბრობთ ისეთ რამეზე, როგორიცაა Intel AES-NI, ეს შეიძლება ნახოთ BIOS-ში, მაგრამ რა არის ეს? ჩვენ გავარკვევთ. ასე რომ, ვიპოვე Intel-ის ოფიციალური ვებგვერდი, სადაც წერია, რომ Intel AES-NI არის დაშიფვრის ბრძანებების გარკვეული ნაკრები, რომელიც ავსებს Advanced Encryption Standard (AES) ალგორითმს და აჩქარებს მონაცემთა დაშიფვრის პროცესს Intel Xeon-ში (ეს არის სერვერი. ) და Intel Core (ჩვეულებრივი სახლის) პროცესორები.

Intel AES-NI მოიცავს შვიდ ახალ ბრძანებას და საშუალებას გაძლევთ დაიცვათ მონაცემთა ტიპი უსაფრთხოების უფრო მაღალ დონეზე. პრინციპში, ყველაფერი ნათელია, Intel AES-NI არის რაღაც ახალი დაშიფვრა, მაგრამ რატომ სჭირდება ეს ჩვეულებრივ ადამიანს? ვეცდები გავარკვიო...

დიახ, ანუ AES-NI ასრულებს AES-ის ზოგიერთ ასპექტს ტექნიკის დონეზე, ანუ უშუალოდ თავად პროცესში. კარგი, ახლა ცოტა გავიგე. ანუ AES-NI აუმჯობესებს AES-ის მუშაობას და აჩქარებს ტიპს. უფრო სწრაფად უნდა დაშიფრულიყო, ერთადერთი რაც არ მესმის რა არის დაშიფრული? Windows-ის დისკი დაშიფრულია თუ WinRAR არქივი უფრო სწრაფად შეიქმნება? ეს არის ის, რაც ჯერ ვერ გავიგე. მაგრამ მე ვიპოვე გარკვეული განმარტება ამ საკითხთან დაკავშირებით, გადახედეთ:

ანუ BitLocker დაშიფვრა უფრო სწრაფი უნდა იყოს. მაგრამ რაც შეეხება ტრანზაქციებს ინტერნეტში, მე არ მესმის ეს, ნიშნავს თუ არა, რომ პროცესორს შეუძლია მონაწილეობა მიიღოს ინტერნეტ კავშირების დაშიფვრაში? იმის გამო, რომ ტრანზაქციის მთელი პროცესი ჩვეულებრივ დაშიფრულია, ამისთვის გამოიყენება თუნდაც HTTPS პროტოკოლი...

მოკლედ ბიჭებო მგონი ყველაფერი მესმის. არსებობს ისეთი რამ, როგორიცაა AES, არა? Ეს რა არის? ეს არის სიმეტრიული ბლოკის დაშიფვრის ალგორითმი, მოკლედ, სისულელე. მაგრამ ეს არ არის მთავარი. მე მესმის, რომ AES გამოიყენება ზოგიერთ პროგრამაში, ლოგიკურია? აი შენ წადი. მაგრამ Intel AES-NI ვარიანტი უბრალოდ აჩქარებს AES ალგორითმს, იცით? იმის გამო, რომ ეს ვარიანტი მუშაობს ტექნიკის დონეზე უშუალოდ პროცესში.

შემდეგ ჩნდება კითხვა, ღირს თუ არა Intel AES-NI-ს ჩართვა, რომ რაღაც უფრო სწრაფად დაშიფრული იყოს? დიახ, თურმე ზუსტად ასეა. ასევე წავიკითხე, რომ დისკის დაშიფვრის პროგრამებს შეუძლიათ გამოიყენონ Intel AES-NI, მაგალითად, ერთ-ერთი ასეთი პროგრამაა PGPdisk.

ბიჭებო, ვიპოვე ძალიან საინტერესო სურათი, რომელიც აჩვენებს AES-NI-ს გამოყენების უპირატესობას, ნახეთ:

მართლაც, განსხვავება შესამჩნევია...

მაშ, რა დასკვნის გაკეთება შეგვიძლია? Intel AES-NI არის ერთგვარი ნივთი, რომელიც ჩაშენებულია თავად პროცესორში, სინამდვილეში ეს არის ერთგვარი ინსტრუქცია და ეს ინსტრუქციები ეხმარება AES ალგორითმის უფრო სწრაფად მუშაობას. თავად ალგორითმი შეიძლება გამოიყენოს სხვადასხვა პროგრამებმა და Intel AES-NI-ის დახმარებით ეს პროგრამები უფრო სწრაფად შეასრულებენ თავის საქმეს =)

ბიჭებო, ეს არის Intel AES-NI ელემენტი BIOS-ში:

ბიჭებო, ახლა ჩვენ გავარკვიეთ რა არის Intel AES-NI, მაგრამ თუ რამე არასწორია, მაშინ ძალიან ნუ გაკიცხავთ. წარმატებებს გისურვებთ და ბედნიერი იყოთ!

პერსონალური კომპიუტერების უდაო პოპულარობა ხელს უწყობს დეველოპერებს, გახადონ ისინი უფრო სრულყოფილი. მონაცემთა დაშიფვრა არის მყისიერი მესინჯერების, სოციალური ქსელების და სხვა სახის ინტერნეტ კომუნიკაციების გამოყენების მნიშვნელოვანი ნაწილი. ამის გარეშე, თქვენი ყველა ინფორმაცია ხელმისაწვდომია ნებისმიერისთვის ქსელში, ნებისმიერი ადგილიდან. Intel-ის AES-NI დაშიფვრის ბრძანებები არის Advanced Encryption Standard ალგორითმის გაუმჯობესება. ეს ინსტრუქციები გამოიყენება Intel Xeon სერვერის პროცესორებში და Intel Core დესკტოპ/პროფესიონალურ პროცესორებში. თუ გაინტერესებთ" ინტელი AESNIრა არის ბიოსში?”, მაშინ ეს სტატია გამოგადგებათ უფრო მეტად, ვიდრე ოდესმე.

რატომ გააქტიურეთ?

Intel AES-NI ყურადღებას ამახვილებს შემდეგ ამოცანებზე:

  • ტრანზაქციების დაცვა ინტერნეტსა და ინტრანეტებში;
  • დისკის დაშიფვრა (მაგალითად, Microsoft BitLocker-ის გამოყენებისას);
  • უკვე დაცული ტრანზაქციების ზოგიერთი ნაწილის დაშიფვრა (დაშიფვრა აპლიკაციის დონეზე).

შედეგად, შენახვის მედია უფრო სწრაფად დაშიფრულია, როგორც ეს ჩანს PGPdisk პროგრამის მაგალითზე. CBC/256 რეჟიმში AES-NI ინსტრუქციებით კოდირება 20%-ით უფრო ეფექტურია, ვიდრე მათ გარეშე. ტესტი შესრულდა 351 მეგაბაიტიან ფაილზე. ასევე აღსანიშნავია გაშიფვრის სიჩქარე CBC/256-ში AES-NI-ით - ზრდა ცხრა პროცენტია.

როგორ ჩართოთ ფუნქცია BIOS-ში

ეს კეთდება კლავიატურაზე რამდენიმე დაჭერით. გახსოვდეთ, რომ AES-NI მუშაობს მხოლოდ Intel პროცესორებზე. ასევე ღირს თქვენი CPU-ს მხარდაჭერის შემოწმება ამ ტექნოლოგიის მწარმოებლის ოფიციალურ ვებსაიტზე. ინსტრუქცია ჩართვისთვის:

  1. კომპიუტერის ჩართვის შემდეგ, ძირითადი შეყვანის/გამოსვლის სისტემა.
  2. გადადით "Advanced" ჩანართზე. მასში იპოვეთ ხაზი "Intel AES-NI" და დააყენეთ მნიშვნელობა "ჩართული".
  3. შეინახეთ გამოყენებული პარამეტრები და დაელოდეთ ოპერაციული სისტემის ჩატვირთვას.

ვარიანტის ჩართვა

დასკვნა

AES-NI არის ინსტრუქციების ნაკრები, რომელიც საშუალებას აძლევს პროცესორს უკეთ დაშიფვროს და გაშიფროს ფაილები კომპიუტერზე. ტექნოლოგია ეკუთვნის Intel-ს და გამოიყენება ექსკლუზიურად მისი პროდუქტებით. ღირს ჩართვა, ეს კეთდება BIOS-ის საშუალებით, თუ დაკავებული ხართ დიდი ფაილების დაშიფვრით და/ან ხშირად ახორციელებთ ტრანზაქციებს მსოფლიო ქსელში.

32 ნმ Intel Westmere ამატებს AES Acceleration-ის მხარდაჭერას: ეს ნამდვილად აუცილებელია?

დღეს უსაფრთხოება მნიშვნელოვანი თემაა - მაგრამ მას მხოლოდ პროფესიონალები მიიჩნევენ მნიშვნელოვანად. თუმცა, თუ უსაფრთხოება ხდება მარკეტინგული ელემენტი ან გადაიქცევა შესრულების მახასიათებელად, მაშინ Intel-ის მსგავსი კომპანიები იწყებენ მის აქტიურ პოპულარიზაციას. AES ან დაშიფვრის გაფართოებული სტანდარტი დამოწმებულია აშშ-ს ეროვნული უსაფრთხოების ადმინისტრაციის (NSA) და აშშ-ს მთავრობის, ისევე როგორც მრავალი სხვა ხელისუფლების მიერ. Intel-ის პროცესორების 32 ნმ ორმაგი სოკეტიანი თაობა გვპირდება მნიშვნელოვან გაუმჯობესებას AES დაშიფვრისა და გაშიფვრის მუშაობაში ახალი ინსტრუქციების წყალობით (მხოლოდ ორბირთვიანი Core i5 პროცესორები). ჩვენ გადავწყვიტეთ შეგვეფასებინა უპირატესობები რეალურ ცხოვრებაში და შევადარეთ ორბირთვიანი Core i5-661 პროცესორი ახალ AES ინსტრუქციებს ოთხბირთვიანი Core i7-870 პროცესორით, რომელიც არ უჭერს მხარს დაშიფვრის აჩქარებას.

დააწკაპუნეთ სურათზე გასადიდებლად.

დაშიფვრა რეალურად გამოიყენება ბევრად უფრო ინტენსიურად, ვიდრე მომხმარებლები ჩვეულებრივ ამჩნევენ. ყველაფერი იწყება ინტერნეტში არსებული საიტებით, რომლებიც შეიცავს სენსიტიურ ინფორმაციას, როგორიცაა მომხმარებელთა პირადი მონაცემები, ან საიტები, რომლებიც შეიცავს სენსიტიური ტრანზაქციის ინფორმაციას, ყველა მათგანი იყენებს TLS ან SSL დაშიფვრას. სერვისები, როგორიცაა VoIP, მყისიერი მესინჯერები და ელექტრონული ფოსტა, ასევე შეიძლება იყოს დაცული იმავე გზით. ვირტუალური პირადი ქსელები (VPN) კიდევ ერთი მაგალითია, რომელიც ალბათ ძალიან პოპულარულია. დაშიფვრა ასევე მოქმედებს მგრძნობიარე სფეროებზე, როგორიცაა ელექტრონული გადახდები. თუმცა, TLS/SSL არის კრიპტოგრაფიული საკომუნიკაციო პროტოკოლები და AES, რომელსაც Intel აჩქარებს ახალი 32 ნმ თაობის პროცესორებით, არის ზოგადი დაშიფვრის სტანდარტი. მისი გამოყენება შესაძლებელია ცალკეული ფაილების, მონაცემთა კონტეინერებისა და არქივების დაშიფვრისთვის, ან თუნდაც მთელი ტიხრებისა და დისკების დაშიფვრისთვის - იქნება ეს USB ჯოხი თუ სისტემის მყარი დისკი. AES შეიძლება შესრულდეს პროგრამულ უზრუნველყოფაში, მაგრამ ასევე არის ტექნიკით დაჩქარებული პროდუქტები, რადგან დაშიფვრა და გაშიფვრა საკმაოდ გამოთვლითი ტვირთია. გადაწყვეტილებებს, როგორიცაა TrueCrypt ან Microsoft BitLocker, რომელიც Windows Vista-ს ან Windows 7 Ultimate-ის ნაწილია, შეუძლიათ მთელი ტიხრების დაშიფვრა.

ფიქრობთ, არის თუ არა თქვენს სისტემაში სენსიტიური მონაცემები, ეს დამოკიდებულია იმაზე, თუ რას გულისხმობთ ამ მონაცემებში, ისევე როგორც თქვენი პირადი კომფორტის დონეზე. გარდა ამისა, უსაფრთხოება ყოველთვის გულისხმობს სწორ სტრატეგიას და სიზუსტეს კონფიდენციალური მონაცემების შესანახად. არასოდეს არ უნდა უგულებელყოთ ისეთი მონაცემები, როგორიცაა თქვენი პასპორტის მონაცემები ან თქვენი საბანკო ბარათის ნომერი და ვადის გასვლის თარიღი. ან თუნდაც თქვენი ტელეფონის PIN.

ერთი რამ ცხადია: უმჯობესია იყოთ ფრთხილად და წინდახედული, ვიდრე პირიქით - მით უმეტეს, რომ ამას დიდი ძალისხმევა არ სჭირდება. Intel-ის მიდგომა AES აჩქარების დასამატებლად არ მოიცავს დაშიფვრის ყველა აპლიკაციას და სცენარს, მხოლოდ ყველაზე პოპულარულ სტანდარტს — და თქვენ მიიღებთ ყველაფერს უფასოდ ყველა მომავალ 32 ნმ დესკტოპის პროცესორებზე ძირითადი ან უფრო მაღალი დონისთვის. მაგრამ არის თუ არა AES ახალი ინსტრუქციები რეალურად უზრუნველყოფს შესრულების მნიშვნელოვან მიღწევებს ტიპიური დაშიფვრის სცენარებში, თუ ეს უფრო მარკეტინგული ძალისხმევაა? მოდით შევხედოთ.

რა არის AES?

AES ნიშნავს "Advanced Encryption Standard" და არის ყველაზე პოპულარული სიმეტრიული დაშიფვრის სტანდარტი IT სამყაროში. სტანდარტი მუშაობს 128-ბიტიან ბლოკებთან და მხარს უჭერს 128-, 192- ან 256-ბიტიან კლავიშებს (AES-128, AES-192 და AES-256). დაშიფვრის მრავალი პროგრამა, მათ შორის TrueCrypt, მხარს უჭერდა AES ალგორითმს მისი არსებობის დასაწყისშივე. მაგრამ AES-ის წარმატების ყველაზე დიდი ფაქტორი, რა თქმა უნდა, არის მისი მიღება აშშ-ს მთავრობის მიერ 2002 წელს, 2003 წელს იგი იქნა მიღებული, როგორც სტანდარტი საიდუმლო მონაცემების დასაცავად.

მონაცემთა დაშიფვრა AES-ის გამოყენებით

AES დაშიფვრა ეფუძნება პერმუტაციის ჩანაცვლების სისტემას, რაც ნიშნავს, რომ მათემატიკური ოპერაციების სერია შესრულებულია მონაცემებზე, რათა შეიქმნას მნიშვნელოვნად შეცვლილი (დაშიფრული) მონაცემთა ნაკრები. საწყისი ინფორმაცია არის ტექსტი, ხოლო გასაღები პასუხისმგებელია მათემატიკური ოპერაციების შესრულებაზე. ოპერაციები შეიძლება იყოს ისეთივე მარტივი, როგორიცაა ბიტის გადაადგილება ან XOR, ან უფრო რთული. ერთი უღელტეხილის ადვილად გაშიფვრა შესაძლებელია, რის გამოც ყველა თანამედროვე დაშიფვრის ალგორითმი აგებულია მრავალ უღელტეხილზე. AES-ის შემთხვევაში, ეს არის 10, 12 ან 14 საშვი AES-128, AES-192 ან AES-256. სხვათა შორის, AES გასაღებები გადის იმავე პროცედურას, როგორც მომხმარებლის მონაცემები, ანუ ისინი ცვალებადი მრგვალი გასაღებია.

პროცესი მუშაობს ერთი ბაიტის 4x4 მასივებით, რომლებსაც ასევე უწოდებენ ყუთებს: S- ყუთები გამოიყენება ჩანაცვლებისთვის, P- ყუთები გამოიყენება პერმუტაციებისთვის. ჩანაცვლება და პერმუტაცია ხორციელდება სხვადასხვა ეტაპებზე: ჩანაცვლება მუშაობს ეგრეთ წოდებულ ყუთებში და პერმუტაციები ცვლის ინფორმაციას ყუთებს შორის. S-box მუშაობს რთული პრინციპით, ანუ, თუნდაც ერთი შეყვანის ბიტი შეიცვალოს, ეს გავლენას მოახდენს რამდენიმე გამომავალ ბიტზე, ანუ თითოეული გამომავალი ბიტის თვისებები დამოკიდებულია თითოეულ შეყვანის ბიტზე.

მრავალჯერადი პასების გამოყენება უზრუნველყოფს დაშიფვრის კარგ დონეს, მაგრამ უნდა აკმაყოფილებდეს დიფუზიის და დაბნეულობის კრიტერიუმებს. გაფანტვა ხორციელდება S-box და P-box ტრანსფორმაციების კასკადური კომბინაციით: შეყვანის ტექსტში მხოლოდ ერთი ბიტის შეცვლისას, S-box შეცვლის რამდენიმე ბიტის გამომავალს და P-box ფსევდო შემთხვევით გაავრცელებს ამას. ეფექტი მრავალ S-ბოქსზე. როდესაც ვამბობთ, რომ შეყვანის მინიმალური ცვლილება წარმოქმნის მაქსიმალურ ცვლილებას, ჩვენ ვსაუბრობთ თოვლის ბურთის ეფექტზე.

რამდენად უსაფრთხოა AES დაშიფვრა?

ბოლო დროს ბევრი დისკუსია იყო ეგრეთ წოდებული ჰაკების შესახებ, რომლებიც გვერდის ავლით ახორციელებენ გაფართოებული უხეში ძალის ძიების საჭიროებას, რათა იპოვოთ სწორი გაშიფვრის გასაღები. ტექნოლოგიები, როგორიცაა XSL შეტევები და დაკავშირებული გასაღების შეტევები განიხილება საკმაოდ ინტენსიურად - მაგრამ მცირე წარმატებით. AES დაშიფვრის დარღვევის ერთადერთი სამუშაო გზა არის ეგრეთ წოდებული გვერდითი არხის შეტევა. ამის მისაღწევად, შეტევა უნდა მოხდეს მხოლოდ მასპინძელ სისტემაზე, რომელიც მუშაობს AES დაშიფვრაზე და თქვენ უნდა იპოვოთ გზა ქეშის სინქრონიზაციის ინფორმაციის მისაღებად. ამ შემთხვევაში, თქვენ შეგიძლიათ აკონტროლოთ კომპიუტერის ციკლების რაოდენობა დაშიფვრის პროცესის დასრულებამდე.

რა თქმა უნდა, ეს ყველაფერი არც ისე ადვილია, რადგან თქვენ გჭირდებათ წვდომა კომპიუტერზე და საკმარისი წვდომა დაშიფვრის გასაანალიზებლად და კოდის შესრულების უფლება. ახლა ალბათ გესმით, რატომ უნდა დაიხუროს უსაფრთხოების სისტემაში „ხვრელები“, რომლებიც თავდამსხმელს საშუალებას აძლევს მოიპოვოს ასეთი უფლებები, თუნდაც სრულიად აბსურდულად ჟღერდეს, რაც შეიძლება სწრაფად უნდა დაიხუროს. ოღონდ ფიქრებში არ დავკარგოთ: თუ თქვენ მიიღებთ წვდომას სამიზნე კომპიუტერზე, მაშინ AES გასაღების მოძიება დროის საკითხია, ანუ ეს აღარ არის სუპერკომპიუტერებისთვის შრომატევადი ამოცანა, რომელიც მოითხოვს უზარმაზარ გამოთვლით რესურსებს.

AES ინტელის შიგნით

ამ ეტაპზე, CPU-ში ინტეგრირებული AES ინსტრუქციები იწყებს აზრს, მიუხედავად შესრულების პოტენციური სარგებელისა. უსაფრთხოების პერსპექტივიდან, პროცესორს შეუძლია დაამუშავოს AES ინსტრუქციები ინკაფსულირებული ფორმით, რაც იმას ნიშნავს, რომ მას არ სჭირდება არცერთი საძიებო ცხრილი, რომელიც საჭიროა გვერდითი არხის შეტევისთვის.



შინაარსი

თანამედროვე სამყაროში დაშიფვრა გამოიყენება თითქმის ყველგან, როგორც განსაკუთრებით მნიშვნელოვანი ინფორმაციის დასაცავად სპეციალურ სფეროებში (თავდაცვის სექტორი, საბანკო საქმე და ა.შ.), ასევე როგორც საყოფაცხოვრებო მოწყობილობების ნაწილი: კომპიუტერები, სმარტფონები, ტელევიზორები. უფრო მეტიც, კრიპტოგრაფიის სფერო ყოველწლიურად ფართოვდება და იზრდება გადაცემული (შენახული) დაშიფრული მონაცემების მოცულობა.

ამავდროულად, მონაცემთა დაშიფვრა მნიშვნელოვნად ზრდის გამოთვლით დატვირთვას მოწყობილობებზე, რომლებიც მას ახორციელებენ, ამიტომ გასაკვირი არ არის, რომ კრიპტოგრაფიული ოპერაციები სულ უფრო მეტად გადადის აპარატურულ დონეზე (ხშირად სპეციალური კრიპტოგრაფიული თანაპროცესორების ან გაფართოების ბარათების სახით). . ბოლო წლებში, დაშიფვრის ინსტრუქციები ასევე ფართოდ იქნა დანერგილი უშუალოდ ძირითადი ბრენდების ცენტრალური დამუშავების ერთეულებში სამომხმარებლო კომპიუტერებისა და მობილური მოწყობილობებისთვის.

დაშიფვრის გამოყენებით

როდესაც ელექტრონიკა და ავტომატიზაცია შეაღწევს ჩვენი ცხოვრების ყველა სფეროში, იზრდება გადაცემული მონაცემების დაცვისა და ძირითად კომპონენტებზე წვდომის შეზღუდვის საჭიროება. თითქმის ყველა თანამედროვე კომპიუტერი, პლანშეტი და სმარტფონი, როუტერი, ჭკვიანი საყოფაცხოვრებო ტექნიკა, მანქანები და ა.შ. აქტიურად იყენებს დაშიფვრას. მაგალითად, კრიპტოგრაფიული ალგორითმები გამოიყენება:

  • უკაბელო მონაცემთა ქსელების უმეტეს ტიპებთან (Wi-Fi, Bluetooth და ა.შ.) მიერთებისას;
  • მობილურ კომუნიკაციებში;
  • მობილური ოპერაციული სისტემა (iOS, Android) შიფრავს მონაცემებს მოწყობილობებზე არაავტორიზებული წვდომისგან დასაცავად;
  • პაროლების უსაფრთხოდ შენახვა მოითხოვს გარკვეულ კრიპტოგრაფიულ ფუნქციებს (ანუ, პაროლის შესაძლებლობების მქონე მოწყობილობების უმეტესობა იყენებს დაშიფვრას);
  • საბანკო ბარათები, ბანკომატები, გადახდის ტერმინალები ყოველთვის კრიპტოგრაფიულად არის დაცული;
  • კრიპტოვალუტები დაფუძნებულია დაშიფვრის პრინციპებზე.

უფრო და უფრო მეტი ორგანიზაცია და ადამიანი აცნობიერებს დაშიფვრის გამოყენების მნიშვნელობას მონაცემების დასაცავად. ამრიგად, მრავალი კომპანიის, განსაკუთრებით Google-ის ერთობლივი ძალისხმევით, დაშიფრული HTTP ტრაფიკის წილი 2014 წლის დასაწყისში 30%-დან 2018 წლის დასაწყისში 70%-მდე გაიზარდა.

ამავდროულად, ნებისმიერი დაშიფვრა არის მათემატიკურად რთული მონაცემთა ტრანსფორმაცია და საჭიროებს დამატებით გამოთვლით რესურსებს ტექნიკისგან. მონაცემთა დამუშავების სცენარიდან გამომდინარე, დაშიფვრის შემოღებამ შეიძლება რამდენჯერმე შეამციროს საერთო გამტარუნარიანობა (დამუშავებული მონაცემთა რაოდენობა დროის ერთეულზე).

დაშიფვრის ალგორითმები

არსებობს კრიპტოგრაფიული ალგორითმის დიდი რაოდენობა. ტექნიკურად რთული იქნებოდა ყველა მათგანის მხარდაჭერა.

თუმცა ზოგიერთი ალგორითმი ბევრად უფრო ხშირად გამოიყენება, ვიდრე სხვები. ეს გამოწვეულია იმით, რომ ბევრი ალგორითმი ითვლება მოძველებულად ან არასაკმარისად უსაფრთხოდ, სხვები აღმოჩნდება ზედმეტად რთული გამოთვლით და ასევე არსებობს სხვა მიზეზები.

ბლოკის სიმეტრიულ ალგორითმებს შორის, უპირველეს ყოვლისა, უნდა აღინიშნოს [ (Advanced Encryption Standard). ეს ალგორითმი შერჩეულ იქნა აშშ-ს ეროვნულ სტანდარტად კონკურსის შედეგების საფუძველზე. AES არის მთავარი სიმეტრიული დაშიფვრის ალგორითმი ბევრ პროტოკოლსა და ტექნოლოგიაში (TLS, Wi-Fi, Bluetooth (4.0 ვერსიიდან), GPG, IPsec, Bitlocker (Windows ფაილური სისტემის დაშიფვრა), LUKS (Linux ფაილური სისტემის დაშიფვრა), Microsoft Office და მრავალი. პროგრამები -არქივატორები (WinZip, 7-zip) და ა.შ.).

კრიპტოგრაფიული ჰეშირების ალგორითმები ასევე ძალიან ფართოდ გამოიყენება. გამომდინარე იქიდან, რომ MD5 ალგორითმი აღიარებულ იქნა სახიფათოდ, დღეს ყველაზე გავრცელებული ალგორითმებია SHA სერიები, ძირითადად SHA-1 და SHA-2, რომლებიც ასევე არის აშშ FIPS სტანდარტები. მათ საბოლოოდ ჩაანაცვლებს SHA-3 ალგორითმი, რომელიც 2012 წელს შესაბამისი კონკურსის გამარჯვებული გახდა.

საჯარო გასაღების ალგორითმები მოიცავს RSA, DSA და Diffe-Hellman.

ყველაზე გავრცელებული x86 არქიტექტურის პროცესორების უახლესი თაობები (წარმოებული Intel და AMD) ახორციელებს სპეციალურ ინსტრუქციებს გამოთვლების დასაჩქარებლად AES და SHA-1, SHA-2 (256 ბიტიანი) ალგორითმების გამოყენებით.

Intel-ის ინსტრუქციები

AES

2008 წელს Intel-მა შემოგვთავაზა ახალი ბრძანებები x86 არქიტექტურისთვის, რამაც დაამატა ტექნიკის მხარდაჭერა სიმეტრიული AES დაშიფვრის ალგორითმისთვის. ამ დროისთვის, AES არის ერთ-ერთი ყველაზე პოპულარული ბლოკის დაშიფვრის ალგორითმი. ამიტომ, ტექნიკის დანერგვამ უნდა გამოიწვიოს პროგრამების მუშაობის გაზრდა, რომლებიც იყენებენ ამ დაშიფვრის ალგორითმს.

ახალი ინსტრუქციების კომპლექტს ეწოდება AES-NI (AES New Instructions) და შედგება AES დაშიფვრის ოთხი ინსტრუქციისგან.

  • AESENC- შეასრულეთ AES დაშიფვრის ერთი რაუნდი,
  • AESENCLAST- შეასრულეთ AES დაშიფვრისა და გაშიფვრის ბოლო რაუნდი
  • AESDEC- შეასრულეთ AES გაშიფვრის ერთი რაუნდი,
  • AESDECLAST- შეასრულეთ AES გაშიფვრის ბოლო რაუნდი

და კიდევ ორი ​​ინსტრუქცია AES გასაღებით მუშაობისთვის:

  • AESIMC- ინვერსიული მიქსის სვეტები,
  • AESKEYGENASSIST- წვლილი შეიტანეთ AES მრგვალი გასაღების გენერირებაში.

როგორც ადრე, ინსტრუქციები არის SIMD ტიპის, ანუ Single Instruction Multiple Data ტიპის. სამივე AES რეჟიმის ღილაკი მხარდაჭერილია (გასაღების სიგრძით 128, 192 და 256 ბიტიანი 10, 12 და 14 ჩანაცვლებითა და ცვლილებით).

ამ ინსტრუქციების გამოყენება რამდენჯერმე აჩქარებს დაშიფვრის ოპერაციებს.

SHA

  • ვესტმერი:
    • Westmere-EP (Xeon 56xx)
  • Clarkdale (გარდა Core i3, Pentium და Celeron)
  • Arrandale (გარდა Celeron, Pentium, Core i3, Core i5-4XXM)
  • ქვიშის ხიდი:
    • ყველა დესკტოპის გარდა Pentium, Celeron, Core i3
    • მობილური: მხოლოდ Core i7 და Core i5
  • აივის ხიდი (მხოლოდ i5, i7, Xeon და i3-2115C)
  • ჰესველი (ყველა გარდა i3-4000m, Pentium და Celeron)
  • ბროდველი (ყველა Pentium-ისა და Celeron-ის გარდა)
  • Silvermont/Airmont (ყველა Bay Trail-D და Bay Trail-M გარდა)
  • გოლდმონტი
  • სკაილეიკი
  • კაბის ტბა
  • ყავის ტბა
  • ბულდოზერი
  • პილედრაივერი
  • ორთქლის როლიკერი
  • ექსკავატორი
  • იაგუარი

SHA ინსტრუქციებს მხარს უჭერს Intel პროცესორები დაწყებული Goldmont არქიტექტურით (2016), AMD პროცესორები - დაწყებული Zen არქიტექტურით (2017).

სხვა პროცესორები

სხვა არქიტექტურისა და მწარმოებლების ზოგადი დანიშნულების პროცესორები ასევე ხშირად მოიცავს სპეციალური კრიპტოგრაფიული ინსტრუქციების მხარდაჭერას.

ამრიგად, AES ალგორითმის მხარდაჭერა ხორციელდება პროცესორებში:

ARM არქიტექტურას ასევე აქვს ინსტრუქციების ნაკრები SHA ალგორითმებისთვის:

  • SHA1C - SHA1 ჰეშის განახლების ამაჩქარებელი, აირჩიეთ
  • SHA1H - SHA1 ფიქსირებული ბრუნვა
  • SHA1M - SHA1 ჰეშის განახლების ამაჩქარებელი, უმრავლესობა
  • SHA1P - SHA1 ჰეშის განახლების ამაჩქარებელი, პარიტეტი
  • SHA1SU0 - SHA1 გრაფიკის განახლების ამაჩქარებელი, პირველი ნაწილი
  • SHA1SU1 - SHA1 გრაფიკის განახლების ამაჩქარებელი, მეორე ნაწილი
  • SHA256H - SHA256 ჰეშის განახლების ამაჩქარებელი
  • SHA256H2 - SHA256 ჰეშის განახლების ამაჩქარებელი, ზედა ნაწილი
  • SHA256SU0 - SHA256 გრაფიკის განახლების ამაჩქარებელი, პირველი ნაწილი
  • SHA256SU1 - SHA256 გრაფიკის განახლების ამაჩქარებელი, მეორე ნაწილი

ჩვენ ვთარგმნით... თარგმნა ჩინური (გამარტივებული) ჩინური (ტრადიციული) ინგლისური ფრანგული გერმანული იტალიური იტალიური პორტუგალიური რუსული ესპანური თურქული

სამწუხაროდ, ჩვენ არ შეგვიძლია ამ ინფორმაციის თარგმნა ახლა - გთხოვთ, სცადოთ მოგვიანებით.

შესავალი

ეს სტატია აღწერს ახალი Intel® AES დაშიფვრის ინსტრუქციების მხარდაჭერას (Intel® AES-NI) Android-ში: რა არის ეს, როგორ გამოვიყენოთ და როგორ გავზომოთ შესრულება. იგი ასევე აღწერს გამოყენების მოდელს და მაგალითებს დაშიფვრის ორ სცენართან ერთად, რომლებიც აჩვენებენ Intel AES-NI ინსტრუქციების გამოყენებას. გამოცდილ დეველოპერებს შეუძლიათ გამოტოვონ ამ სტატიის პირველი ოთხი ნაწილი და გადავიდნენ პირდაპირ ბოლო ნაწილზე, რათა გაეცნონ გამოყენების შემთხვევებს. ნაკლებად გამოცდილ დეველოპერებს შეიძლება მთელი სტატიის წაკითხვა სურდეთ.

ახალი AES დაშიფვრის ინსტრუქციები (Intel AES-NI)

Intel AES-NI ინსტრუქციები შემოთავაზებული იქნა 2008 წლის მარტში, როგორც x86 არქიტექტურის ინსტრუქციების ნაკრების გაფართოება Intel და AMD მიკროპროცესორებისთვის. ინსტრუქციების ამ ნაკრების მიზანია გაზარდოს აპლიკაციების სიჩქარე, რომლებიც ასრულებენ AES დაშიფვრას და მონაცემთა გაშიფვრას.

Intel AES-NI ინსტრუქციები ჩამოთვლილია ცხრილში 1.

ცხრილი 1. Intel® AES-NI ინსტრუქციები

Intel AES-NI მხარდაჭერის შემოწმება Android-ში

შეგიძლიათ შეამოწმოთ არის თუ არა Intel AES-NI მხარდაჭერილი კონკრეტულ პლატფორმაზე გამოყენებით CPUID; შეამოწმეთ ღირებულება CPUID.01H:ECX.AESNI = 1. თქვენ ასევე შეგიძლიათ გამოიყენოთ ფუნქცია check_for_aes_instructions Intel AES-NI ბიბლიოთეკის ნიმუშიდან.

Intel AES-NI-ის გამოყენება Android-ში

შეგიძლიათ გამოიყენოთ Intel AES-NI Android-ში სხვადასხვა გზით:

  • ჩაწერეთ C/C++ კოდი და გამოიყენეთ ასამბლეის კოდი პირდაპირ
  • გამოიყენეთ მესამე მხარის არსებული ბიბლიოთეკა, როგორიცაა OpenSSL*
  • გამოიყენეთ Java* Crypto API Android Kitkat-იდან

Android OS-ზე x86-ისთვის მშობლიური ბიბლიოთეკის/აპლიკაციის შესაქმნელად, თქვენ უნდა მოამზადოთ დამოუკიდებელი ხელსაწყოების ჯაჭვი ბრძანების გამოყენებით მაკიაჟი-დამოუკიდებელი-იარაღების ჯაჭვი.შ Android NDK-ში:

$NDK_PATH/build/tools/make-standalone-toolchain.sh –install-dir=$STANDALONE_TOOCHAIN_PATH –toolchain=x86-4.8 –platform=android-14 –ndk-dir=$NDK_PATH ექსპორტი PATH=$PATH:$STANDALONE_TOOCHAIN_PATH_

Build ბიბლიოთეკის გამოყენება

ბიბლიოთეკა საქაღალდეშია intel_aes_lib. მისი ჩამოტვირთვა ასევე შესაძლებელია. გამოიყენეთ GCC ვერსია 4.4 ან უფრო ახალი, ანუ NDK ვერსია უნდა იყოს უფრო ახალი ვიდრე NDK v3. (აქ ვიყენებთ android-ndk-r9ტესტირებისთვის.)

makefile/shellარ არსებობს სკრიპტი ანდროიდის ვერსიების მშენებლობისთვის. კომპილაციისთვის შეგიძლიათ შეცვალოთ ფაილი mk_lnx86.sh. მთავარი ცვლილება არის გამოყენება $STANDALONE_TOOCHAIN_PATH/bin/i686-linux-android-gccნაგულისხმევად GCC-ის ნაცვლად. თქვენ ასევე უნდა გამოიყენოთ პარამეტრები საშვი –D__ANDROID__.

ექსპორტი CC=”$STANDALONE_TOOLCHAIN_PATH/bin/i686-linux-android-gcc –D__ANDROID__ --sysroot=$STANDALONE_TOOLCHAIN_PATH/sysroot -I$STANDALONE_TOOLCHAIN_PATH/sysroot/include”

შედგენის შემდეგ, შეგიძლიათ ორობითი შესრულებადი პროგრამა გადაიტანოთ Android-ზე და შეამოწმოთ იგი. თქვენ ასევე შეგიძლიათ გამოიყენოთ წყაროს კოდი პირდაპირ თქვენს აპლიკაციებში ან გამოიყენოთ გენერირებული ბინარული ბიბლიოთეკა NDK-ში.

OpenSSL-ის გამოყენებით

Intel AES-NI ინსტრუქციები გამოიყენება მრავალი ბიბლიოთეკის მიერ, მაგ კრიპტო++ პოლარული SSL IPP OpenSSLდა სხვა. (Ჩვენ ვიყენებთ OpenSSLროგორც მითითება - Intel AES-NI ინსტრუქციები მხარდაჭერილია OpenSSL-ში ექსპერიმენტული ვერსიიდან 1.0).

Android 4.3-დან დაწყებული, AOSP-ში OpenSSL-ს აქვს Intel AES-NI-ის მხარდაჭერა, ასე რომ თქვენ უბრალოდ უნდა შეადგინოთ კოდი სასურველი კონფიგურაციით. თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ ის ოფიციალური ვებ-გვერდიდან და თავად შეადგინოთ იგი და შემდეგ გამოიყენოთ ფაილი *.ა/*.ასეპირდაპირ თქვენს პროექტში.

1) ჩამოტვირთვა - შეგიძლიათ ჩამოტვირთოთ OpenSSL http://www.openssl.org/source/-დან. ამჟამად Android 4.2-ში openssl-1.0.1cდა Android 4.4-ში - openssl-1.0.1e.თქვენ უნდა გამოიყენოთ OpenSSL-ის იგივე ვერსია, როგორც სამიზნე სისტემა.

(2) კომპილაცია - შეასრულეთ შემდეგი ბრძანება კონსოლში:

Cd $OPENSSL_SRC_PATH ექსპორტი CC=”$STANDALONE_TOOCHAIN_PATH/bin/i686-linux-android-gcc –mtune=atome –march=atom –sysroot=$STANDALONE_TOOCHAIN_PATH/sysroot” ექსპორტი AR=$STANDALONE_PATH-android-6ar/ ექსპორტი RANLIB=$STANDALONE_TOOCHAIN_PATH/bin/i686-linux-android-ranlib ./android-x86-ის კონფიგურაცია –DOPENSSL_IA32_SSE2 –DAES_ASM –DVPAES_ASM მწარმოებელი

ამის შემდეგ ფაილი libcrypto.აგამოჩნდება ზედა დონის საქაღალდეში. ფაილის გამოსაყენებლად *.ისეშედი " გაზიარებული android-x86 *** კონფიგურაცია”.

(3) გამოიყენეთ OpenSSL NDK-ის მეშვეობით Android პროექტში: შექმნა Android პროექტი, გამოაცხადეთ OPENSSL დაკავშირებული ფუნქცია როგორც მშობლიური, შემდეგ გამოიყენეთ კოდი ჯნი/*.გ.

ამის შემდეგ თქვენ უნდა დააკოპიროთ ფაილები *.ა/*.ასედა პროექტის სათაური ფაილი.

Mkdir jni/წინასწარ შედგენილი/ mkdir jni/include cp $OPENSSL_PATH/libcrypto.a jni/წინასწარ შედგენილი cp –L -rf $OPENSSL_PATH/include/openssl jni/include

შემდეგ დაამატეთ შემდეგი ხაზი ფაილს jni/Android.mk:

... LOCAL_MODULE:= სტატიკური LOCAL_SRC_FILES:= წინასწარ შედგენილი/libcrypto.a ... LOCAL_C_INCLUDES:= მოიცავს LOCAL_STATIC_LIBRARIES:= სტატიკური –lcrypto ...

ამის შემდეგ შეგიძლიათ გამოიყენოთ OpenSSL-ში მოცემული ფუნქციები თქვენი ფუნქციონირების განსახორციელებლად დაშიფვრა/გაშიფვრა/SSL. Intel AES-NI-ის გამოსაყენებლად გამოიყენეთ სერიის ფუნქცია EVP_*როგორც ქვემოთაა ნაჩვენები. ეს ავტომატურად მისცემს Intel AES-NI ტექნიკის მოდულს AES დაშიფვრისა და გაშიფვრის საშუალებას, თუ პროცესორი მხარს უჭერს მას.

//გამოაცხადეთ EVP_CIPHER_CTX en, de; //init EVP_CIPHER_CTX_init(&en); EVP_CIPHER_CTX_init(&de); EVP_DecryptInit_ex(&de, NULL, NULL, NULL, NULL); //გაშიფვრა და დაშიფვრა EVP_DecryptUpdate(&de, ჩვეულებრივი ტექსტი, &bytes_written, შიფრული ტექსტი, len); EVP_EncryptUpdate(&en, ciphertext, &cipher_len, plaintext, len); //გასუფთავება EVP_CIPHER_CTX_cleanup(&en); EVP_CIPHER_CTX_გასუფთავება(&de);

შემდეგ გამოიყენეთ ndk-buildშედგენისთვის.

Ndk-build APP_ABI=x86

(4) Java Crypto API-ს გამოყენება: in Android Kitkat OpenSSL პროვაიდერი სახელად " AndroidOpenSSL” მხარს უჭერს Intel AES-NI, ასე რომ თქვენ შეგიძლიათ გამოიყენოთ javax.crypto.Cipherპირდაპირ.

შიფრის შიფრი = Cipher.getInstance (AES_ALGORITHM, „AndroidOpenSSL“); cipher.init(*);

შესრულების გაზომვა

შესრულების გაზომვა

ტესტირების ხელსაწყოები

(1) გამოიყენეთ OPENSSL ინსტრუმენტები. გუნდი opensslროგორც OpenSSL-ის ნაწილი, მას შეუძლია მრავალი დავალების შესრულება. მისი გამოყენება შესაძლებელია შესრულების გასაზომად openssl სიჩქარე. ნაგულისხმევი openssl((როდესაც აგებულია AES_ASM ვარიანტით) ავტომატურად გამოიყენებს Intel AES-NI ტექნიკის აჩქარებას. თქვენ ასევე შეგიძლიათ მარტივად გამორთოთ აპარატურის აჩქარება ერთი გარემოს ცვლადის დაყენებით: OPENSSL_ia32cap მნიშვნელობა ~0x200000200000000

Openssl სიჩქარე –evp aes-256-cbc OPENSSL_ia32cap=~0x200000200000000 openssl სიჩქარე –evp aes-256-cbc

(2) გამოიყენეთ ხელნაკეთი პროგრამა.

სურათი 1.ჩვენ მიერ შექმნილი სატესტო პროგრამა.

(3) Intel® მობილური პლატფორმის მონიტორი (Intel® MPM) არის ენერგიის მოხმარების მონიტორინგის ინსტრუმენტი დეტალური ინფორმაციისთვის CPU/GPU/ენერგიის სტატუსზე და ა.შ. დამატებითი ინფორმაციისთვის ეწვიეთ:

სურათი 2. Intel® MPM პროგრამა

შეაჩერე პროფილირება, შემდეგ შეინახეთ შედეგის მონაცემები. შედეგები ნაჩვენებია ტექსტის შეჯამების სახით ან გრაფიკის სახით.

(4) გამოიყენეთ სატესტო აპლიკაცია Intel AES-NI ბიბლიოთეკიდან, იხ. შეუძლია ჩართეთ ან გამორთეთ AESNI BIOS-ში ზოგიერთ სატესტო პროექტში, როგორიცაა aes_gladman_ქვეჯგუფიშესრულების შედეგების დემონსტრირება.

Ტესტის პასუხები

ჩვენ გავუშვით [ჩადეთ პროგრამა] Bay Trail ტაბლეტზე, რომელიც მუშაობს Android 4.4. ჩვენი ტესტირების შედეგები აჩვენებს 4-დან 11-ჯერ უკეთეს დაშიფვრისა და გაშიფვრის შესრულებას, ასევე 40%-ზე მეტ ენერგიას დაზოგავს Intel AES-NI-ს გამოყენებისას.

დეტალური ტესტირების მონაცემები

აპარატურა: BAYTRAIL_FFRD8 PR1, OS: ANDROID 4.4
MODE
(CBC/256)
ფაილის ზომა ჩართულია Intel® AES-NI Intel® AES-NI გამორთულია
დრო (s) I/O გარეშედრო(ები) I/O-ითდრო (s) I/O გარეშედრო(ები) I/O-ით
დაშიფვრა351 მ2.89 15.4 14.59 25.61
56 მ0.48 2.35 2.63 4.55
დეკოდირება351 მ1.76 38.144 19.78 28.51
56 მ0.29 1.9 3.16 4.62

    არა I/Oზემოთ მოყვანილი ცხრილიდან

    დაშიფვრა: მუშაობის თითქმის 5-ჯერ გაუმჯობესება, OPENSSL-ის მსგავსი
    ტრანსკრიპტი: პროდუქტიულობის თითქმის 11-ჯერ ზრდა

    I/O-ითზემოთ მოყვანილი ცხრილიდან

    დაშიფვრა: მუშაობის თითქმის 1.9x გაუმჯობესება
    ტრანსკრიპტი: პროდუქტიულობის თითქმის 2-ჯერ ზრდა

Intel AES-NI გამოყენების შემთხვევები

AES ალგორითმი ფართოდ გამოიყენება მონაცემთა უსაფრთხოების სხვადასხვა სცენარებში, როგორიცაა ქსელში მონაცემთა გადაცემის დაშიფვრა, მთელი დისკის ან ცალკეული ფაილების დაშიფვრა. ყველა ამ სცენარში Intel AES-NI შეიძლება გამოყენებულ იქნას მანამ, სანამ CPU მხარს უჭერს საჭირო ინსტრუქციებს. ნახ. 6-ზე ნაჩვენებია ტიპიური მონაცემთა გადაცემა ქსელში; მომხმარებლებსა და სერვერებს შორის გადაცემული ყველა მონაცემი დაშიფრულია ავტორიზაციის შემდეგ.

სურათი 6.ტიპიური ქსელის მონაცემთა გადაცემა

გამოყენების კიდევ ერთი ტიპიური შემთხვევაა მთელი დისკების დაშიფვრა ან ცალკეული ფაილების დაშიფვრა, როდესაც მომხმარებლებს სჭირდებათ მონაცემების შენახვა ადგილობრივ საცავში. ნახ. ნახაზი 7 გვიჩვენებს მთელ სამუშაო პროცესს მომხმარებლისგან საცავამდე:

სურათი 7.დაშიფვრის მთელი სამუშაო პროცესი

Intel AES-NI ტექნიკის ინსტრუქციები უზრუნველყოფს როგორც მაღალ შესრულებას, ასევე ენერგიის დაზოგვას, რაც განსაკუთრებით მნიშვნელოვანია მობილური მოწყობილობებისთვის, როგორიცაა სმარტფონები და ტაბლეტები. მობილური მოწყობილობების მართვა (MDM) და მობილური კონტენტის მენეჯმენტი (MCM) არის კრიტიკული ფაქტორები საწარმოს უსაფრთხოების გადაწყვეტილებებისთვის. ეს განყოფილება აღწერს Intel AES-NI MDM-თან და MCM-თან ერთად.

MDM-ის კარგი მაგალითია, როდესაც ადმინისტრატორები უგზავნიან შეტყობინებებს ან ბრძანებებს საბოლოო მომხმარებლებს, მაგრამ გაგზავნილი ყველა მგრძნობიარე მონაცემი უნდა იყოს დაშიფრული. პროგრამული AES გადაწყვეტა სწრაფად შლის ბატარეის ენერგიას, როდესაც მონაცემთა ხშირი გადაცემა ხდება, მაგრამ Intel AES-NI გადაწყვეტა იყენებს აპარატურულ გადაწყვეტილებებს, რომლებიც დაზოგავს ენერგიას და აუმჯობესებს მუშაობას. ნახ. სურათი 8 გვიჩვენებს ტიპიურ სცენარს, რომელშიც ადმინისტრატორები უგზავნიან ბრძანებებს მომხმარებლებს Intel AES-NI-ზე დაფუძნებული დაშიფვრის გამოყენებით. სამუშაო პროცესი მოიცავს ბრძანებების დაშიფვრას მათ გაგზავნამდე და მონაცემების გაშიფვრას საბოლოო მომხმარებლის მოწყობილობებზე ბრძანებების შესასრულებლად.

Ფიგურა 8. MDM მონაცემთა გაცვლა AES კრიპტოგრაფიის გამოყენებით

MCM მაგალითი: მომხმარებლები წვდებიან სენსიტიურ მონაცემებს, როგორიცაა დოკუმენტები, სურათები, ვიდეოები და ა.შ. კორპორატიული სერვერებიდან. ასეთი გადაცემული მონაცემები საჭიროებს საიმედო დაცვას. ყველა მონაცემი უნდა იყოს დაშიფრული საბოლოო მომხმარებლისთვის გაგზავნამდე; მომხმარებლის მოწყობილობებზე მონაცემები ასევე უნდა იყოს შენახული დაშიფრული ფორმატით. ნახ. სურათი 9 გვიჩვენებს ტიპიური MCM სამუშაო პროცესს დასაწყისიდან დასრულებამდე, როდესაც კითხულობს და ინახავს მონაცემებს საბოლოო მომხმარებლის მიერ. Intel AES-NI ინსტრუქციები მხარს უჭერს 256-ბიტიან დაშიფვრას, რაც მას შესანიშნავ ტექნიკის გადაწყვეტად აქცევს საწარმოს დონის უსაფრთხოებისა და კონფიდენციალურობის მოთხოვნებისთვის.

სურათი 9. MCM სამუშაო პროცესი

Intel AES-NI ტექნიკის აჩქარების ჩასართავად, დეველოპერებმა უნდა გამოიყენონ NDK პროგრამირება. ნახ. სურათი 10 გვიჩვენებს ტიპიურ ურთიერთობას Android აპლიკაციის ფენებს, Android დაშიფვრის მოდულსა და Intel AES-NI C/C++ მოდულს შორის. Java Native Interface (JNI) გამოიყენება C/C++ ფუნქციების ჯავის ფუნქციებთან დასაკავშირებლად. თუ NDK პროგრამირება თქვენთვის ახალია, იხილეთ NDK მითითებები დამატებითი ინფორმაციისთვის.

სურათი 10.ტიპიური ურთიერთობები დონეებს შორის

დასკვნა

ეს სტატია აღწერს, თუ როგორ გამოიყენოთ Intel AES-NI ინსტრუქციები Android მოწყობილობებზე დაშიფვრის დასაჩქარებლად. აჩვენებს, თუ როგორ შეუძლიათ დეველოპერებს გამოიყენონ ასამბლეის კოდი, მესამე მხარის ბიბლიოთეკები და Intel NDK აპლიკაციების დასაჩქარებლად და ენერგიის დაზოგვის მიზნით. აღწერილია მონაცემთა დაშიფვრისა და გაშიფვრის ორი ტიპიური სცენარი, რათა დაეხმაროს დეველოპერებს გამოიყენონ Intel AES-NI თავიანთ აპლიკაციებში.

Intel® ინსტრუმენტების შესახებ დამატებითი ინფორმაციისთვის Android-ის დეველოპერებს შეუძლიათ ეწვიონ შემდეგ საიტებს: Intel® Developer Zone Android-ისთვის.

ავტორების შესახებ

Zhang Li არის აპლიკაციების განვითარების ინჟინერი Intel® Software and Solutions Group (SSG) დეველოპერებთან ურთიერთობის განყოფილებაში, როგორც მობილური გააქტიურების გუნდის ნაწილი. ის ჩართულია Android აპლიკაციების მხარდაჭერაში.

Yanqing Wang არის აპლიკაციების განვითარების ინჟინერი Intel® Software and Solutions Group (SSG) დეველოპერებთან ურთიერთობის განყოფილებაში, როგორც მობილური გააქტიურების გუნდის ნაწილი. მისი პასუხისმგებლობა მოიცავს საწარმოს გადაწყვეტილებების მართვას და უსაფრთხოებას. მას აქვს Intel® Developer Zone (IDZ) შავი ქამრის სტატუსი.

საცნობარო მასალები

Intel, Intel-ის ლოგო, Atom, Celeron, Core, Pentium და Xeon არის Intel Corporation-ის სავაჭრო ნიშნები აშშ-სა და სხვა ქვეყნებში.
*სხვა სახელები და სავაჭრო ნიშნები შეიძლება იყოს მესამე მხარის საკუთრება.
© Intel Corporation, 2014. ყველა უფლება დაცულია.



გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: