İçeriğe atla

Anahtar türetme fonksiyonu

KDF chain

Kriptografide, anahtar türetme fonksiyonu (ATF), bir veya daha fazla gizli anahtarı, ana anahtar, parola veya geçit parolası gibi unsurlardan bir sözderastlantısal fonksiyon kullanarak türetir.[1][2] ATF'ler, anahtarlar boyutlarını uzatmak veya belirli formatlarda anahtarlar elde etmek için kullanılabilirler. Diffie-Hellman anahtar değişimi sonucunda oluşacak bir grup unsurların, AES'in kullanılabileceği bir simetrik anahtara dönüştürülmesi bu kullanıma örnek olarak gösterilebilir. Anahtar kullanılan kriptografik özet fonksiyonları, anahtar türetme için kullanılan sözderastlantısal fonksiyonların popüler örneklerinden biridir.[3]

ATF'lerin Kullanım Alanları

  • Ortak bir gizli değerden, bir veya daha fazla anahtar türetmek için gizli olmayan parametrelerle birlikte kullanılır (bazen "anahtar çeşitlendirme" olarak da adlandırılır). Bu tür bir kullanım, türetilmiş bir anahtarı alan bir saldırganın, giriş sırrı değeri veya türetilmiş diğer anahtarlardan herhangi biri hakkında faydalı bilgiler öğrenmesini önleyebilir. Bir ATF ayrıca, türetilmiş anahtarların, bazı özel şifreleme sistemlerinde "zayıf anahtarların" önlenmesi gibi istenen diğer özelliklere sahip olmasını sağlamak için de kullanılabilir.
  • ATF'lerin en genel [] kullanım alanı, passwd dosyası veya gölge parola dosyası tarafından kullanıldığı gibi, şifre doğrulamasına bir parola özeti yaklaşımıdır. ATF'ler, başlangıçta bu amaç için tasarlanmamış olsalar bile, bir parola özetleme fonksiyonunun karakteristik özelliklere sahiptirler. [] Bu bağlamda gizli olmayan değişkenlere " tuz " denir.
2013 yılında, yeni bir parola özetleme algoritma standardı seçmek için, bir Parola Özetleme Yarışması yapılacağı duyuruldu. 20 Temmuz 2015 tarihinde yarışma sona erdi ve kazananın Argon2 olduğu duyuruldu. Dört farklı algoritma ise özel tanınırlık kazandılar (Catena, Lyra2, Makwa ve yescrypt).[4]
  • Çok istemli anahtar anlaşma protokollerinin ana bileşeni olarak kullanılır. IEEE Std 1363-2000'de tanımlanan KDF1 ve ANSI X9.42'deki benzer fonksiyonlar, bu kullanıma örnek olarak verilebilir.
  • Gizi parolalar ve geçit parolalarından anahtarlar türetmek için kullanılır.
  • Halihazırda bulunan anahtarlardan yeni anahtarlar türetmek için kullanılır. HKDF bu amaçla kullanılan ATF'lere örnek olarak gösterilebilir.
  • Anahtar uzunluğunun artırılması ve anahtarların güçlendirilmesi amacıyla kullanılır.

Anahtar uzunluğunu artırılması ve anahtarların güçlendirmesi

Anahtar türetme fonksiyonları, doğrudan kriptografik anahtarlar olarak kullanılmak üzere istenen özelliklere sahip olmayan, gizli şifrelerden veya şifrelerden anahtarlar türetme uygulamalarında da kullanılırlar. Bu tür uygulamalarda, genel olarak anahtar türetme işlevinin, kaba kuvvet saldırılarını veya parola veya parola giriş değerindeki sözlük saldırılarını engellemek için kasten yavaş yapılması önerilir.

Bu tür bir kullanım TA = ATF(anahtar, tuz, yineleme) olarak ifade edilebilir. Burada TA türetilmiş anahtar, ATF anahtar türetme fonksiyonu, anahtar, orijinal anahtar veya şifre, tuz, şifreleme tuzu olarak işlev gören rastgele bir sayı ve yineleme, bir alt fonksiyonun yineleme sayısını ifade eder. Türetilmiş anahtar, sistemin anahtarı olarak orijinal anahtar veya parola yerine kullanılır. Tuzun değerleri ve yineleme sayısı (eğer sabit değilse), özetlenmiş parola ile saklanır veya şifreli bir mesajla düz metin olarak gönderilir.[5]

Kaba kuvvet saldırılarının zorluğu, yineleme sayısıyla birlikte artar. Yineleme sayısı üzerindeki limit, kullanıcıların bir bilgisayara girmek veya şifresi çözülmüş bir mesajı görmek istediklerinde, fark edilebilir derecede bir gecikme yaşamak istememelerinden kaynaklanmaktadır. Tuz kullanımı, önceden hesaplanmış, türetilmiş anahtarlardan oluşan bir sözlükler kullanan saldırganları engeller.

Başka bir yaklaşım ise anahtarların güçlendirilmesidir. Anahtar rastgele bir tuz ile genişletilir ancak anahtar uzatılmasının aksine tuz güvenli bir şekilde silinir.[6] Bu durum hem saldırganı hem de meşru kullanıcıları tuz üzerine kaba kuvvet saldırıları yapmaya zorlar.[7] Anahtar uzatılmasını tanıtan[8] makale eski bir teknik olarak tanıtıp, kasıtlı olarak farklı bir ad seçmesine rağmen, şimdilerde "anahtar güçlendirilmesi" terimi genellikle anahtar uzatılması olarak kullanılıyor.

Tarihçe

İlk [] kasıtlı olarak yavaş (anahtar uzatılması) parola tabanlı anahtar türetme fonksiyonu "crypt " (veya el kitabı sayfasından belirtildiği gibi "crypt(3)") olarak adlandırıldı ve 1978'de Robert Morris tarafından icat edildi. Bu fonksiyonla kullanıcı şifresinin ilk 8 karakterini anahtar olarak kullanarak, değiştirilmiş bir DES şifreleme algoritmasıyla 25 yineleme gerçekleştirip (hesaplamalar için gerçek zamanlı bilgisayar saatinden okunan 12 bitlik bir sayının kullanıldığı ) bir sabiti (sıfır) şifrelenir ve elde edilen 64 bitlik sayı yazdırılabilir 11 karakter olarak kodlanır ve daha sonra Unix şifre dosyasına kaydedilir.[9] O zamanlar için büyük bir ilerleme olsa da, PDP-11 döneminden itibaren işlemci hızlarının artmasıyla birlikte, kaba kuvvet saldırıları crypt'e karşı uygulanabilir hale geldi ve depolama alanındaki ilerleme 12 bit tuzlamayı yetersiz hale getirdi. Ayrıca crypt fonksiyonlarının kullanıcı şifrelerini 8 karakter ile sınırlaması, anahtar alanını ve güçlü geçit parolası oluşturmayı sınırlandırdı. []

PBKDF2 ([rfc:2898 RFC 2898'de] belirtilen) gibi modern parola tabanlı anahtar türetme işlevleri, SHA-2, daha fazla tuz (örneğin 64 bit ve daha büyük) gibi bir şifreleme karma ve yüksek yineleme sayısı gibi kriptografik özetleme kullanırlar. (genellikle on veya yüz binlerce).

NIST, en az 128 bit rastgele tuz ve NIST tarafından onaylanmış bir şifreleme işlevi gerektirir, örneğin SHA serisi veya AES gibi(MD5 onaylanmadı).[10] Her ne kadar yüksek verim, genel amaçlı özet fonksiyonlarında arzulanan bir özellik olsa da, kaba kuvvet kırılmasına karşı savunmanın birincil öncelik olduğu şifre güvenliği uygulamalarında durum bunun tersi geçerlidir. GPU'lar, FPGA'lar ve hatta ASIC'ler gibi paralel donanımların artan kullanımı, kaba kuvvet saldırısı için uygun algoritmaların seçimini daha da kritik hale getirdi, çünkü iyi algoritma sadece belirli bir miktarda hesaplama maliyetini artırmamalı, aynı zamanda bu tür görevler için modern paralel platformların maliyet / performans avantajlarına da karşı da dirençli olmalıdır. Bu amaçla, bcrypt, scrypt ve daha yakın bir zamanda Argon2 (Parola Özetleme Yarışmasının galibi) dahil olmak üzere çeşitli algoritmalar tasarlandı. Saldırganlar tarafından kabaca 36 milyon parola özetinin çalındığı büyük ölçekli Ashley Madison veri ihlali, parolaların korunmasında algoritma seçiminin önemini göstermiştir. Her ne kadar karma özetleri korumak için bcrypt kullanılsa da (büyük ölçekli kaba kuvvet saldırılarının yapılmasını masraflı ve zaman alıcı hale getirdi), risk altındaki verilerdeki hesapların önemli bir kısmı,11 milyondan fazla parolanın haftalar içerisinde kırılmasını mümkün kılacak genel amaçlı MD5 algoritmasına dayanan bir parola özeti içeriyordu.[11]

Haziran 2017'de, NIST dijital kimlik doğrulama kılavuzlarının yeni bir revizyonunu yayınladı: NIST SP 800-63B-3.[12] :5.1.1.1 Kılavuza göre: "Sağlayıcılar hafızaya aldıkları gizli bilgileri(parolalar gibi) çevrimdışı saldırılara karşı dayanıklı olacak bir şekilde depolayabilirler. Hafızaya alınan sırlar, uygun bir tek yönlü anahtar türetme işlevi kullanılarak tuzlanır ve karıştırılabilirler. Anahtar türetme fonksiyonları parola, tuz ve bir maliyet faktörü girdisi alır, ardından bir parola özeti oluşturur. Amaçları, parola özet dosyası elde etmiş bir saldırgan tarafından yapılan tüm şifre tahmin denemelerini daha masraflı hale getirmektir ve bu nedenle tahmin saldırılarının maliyeti yüksektir." ve "Tuz, depo edilmiş özetler arasındaki çakışmayı en aza indirmek için, en az 32 bir uzunluğunda olmalı ve rastgele olarak seçilmelidir."

Kaynakça

  1. ^ Bezzi, Michele; et al. (2011). "Data privacy". In Camenisch, Jan et al. Privacy and Identity Management for Life [1]
  2. ^ Kaliski, Burt; RSA Laboratories. "RFC 2898 – PKCS #5: Password-Based Cryptography Specification, Version 2.0" IETF.
  3. ^ Zdziarski, Jonathan (2012). Hacking and Securing IOS Applications: Stealing Data, Hijacking Software, and How to Prevent It.[2] 9 Nisan 2017 tarihinde Wayback Machine sitesinde arşivlendi. O'Reilly Media. pp. 252–253. ISBN 9781449318741.
  4. ^ ""Password Hashing Competition"". 7 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 
  5. ^ "Salted Password Hashing – Doing it Right". CrackStation.net. [3] 7 Nisan 2019 tarihinde Wayback Machine sitesinde arşivlendi. Retrieved 29 January 2015.
  6. ^ Abadi, Martın, T. Mark A. Lomas, and Roger Needham. "Strengthening passwords." Digital System Research Center, Tech. Rep 33 (1997): 1997.
  7. ^ U. Manber, "A Simple Scheme to Make Passwords Based on One-Way Functions Much Harder to Crack," Computers & Security, v.15, n.2, 1996, pp.171–176.
  8. ^ Secure Applications of Low-Entropy Keys 8 Eylül 2015 tarihinde Wayback Machine sitesinde arşivlendi., J. Kelsey, B. Schneier, C. Hall, and D. Wagner (1997)
  9. ^ Morris, Robert; Thompson, Ken (1978-04-03). "Password Security: A Case History". Bell Laboratories. Archived from the original on 2003-03-22 [4] Retrieved 2011-05-09.
  10. ^ NIST SP 800-132 1 Aralık 2016 tarihinde Wayback Machine sitesinde arşivlendi. Bölüm 5.1
  11. ^ Goodin, Dan (10 September 2015)[5] 8 Nisan 2019 tarihinde Wayback Machine sitesinde arşivlendi. Retrieved 10 September 2015.
  12. ^ "Digital Identity Guidelines" (PDF). 1 Nisan 2019 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 8 Nisan 2019. 

Ayrıca bakınız

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Kriptoloji</span>

Kriptoloji, şifre bilimidir. Haberleşme ve iletişim alanında iletilerin, mesajların, yazıların güvenli şekilde alıcısına ulaşması için çalışmalar yapan, yöntemler geliştiren bilim dalıdır. Önemli haberleşme verilerinin başkaları tarafından deşifre edilmemesi için özel matematiksel yöntemler kullanılarak güvenli şekilde iletişim sağlanması için kriptolojiye başvurulur. Bu sayede haberleşme daha güvenli hale getirilir. Şifrelenmiş bir metnin deşifre edilmesi ülkeler arası büyük bir krize neden olabilir ve bu durum iki ülke arasında savaş başlamasına sebep olabilir veya savaş halindeki iki ülkenin savaşı bitirmesini de sağlayabilir.

<span class="mw-page-title-main">AES</span> Şifreleme standartı

AES, elektronik verinin şifrelenmesi için sunulan bir standarttır. Amerikan hükûmeti tarafından kabul edilen AES, uluslararası alanda da defacto şifreleme (kripto) standardı olarak kullanılmaktadır. DES'in yerini almıştır. AES ile tanımlanan şifreleme algoritması, hem şifreleme hem de şifreli metni çözmede kullanılan anahtarların birbiriyle ilişkili olduğu, simetrik-anahtarlı bir algoritmadır. AES için şifreleme ve şifre çözme anahtarları aynıdır.

<span class="mw-page-title-main">Elektronik imza</span>

Elektronik imza ya da sayısal imza, başka bir elektronik veriye eklenen veya elektronik veriyle mantıksal bağlantısı bulunan ve kimlik doğrulama amacıyla kullanılan elektronik veridir. E-imza olarak da bilinir. Elektronik ortamlarda imza yerine kullanılabilen yasal kimlik doğrulama sistemidir. Elektronik imza, elektronik belge'ye girilen bir isim kadar basit olabilir. Dijital imzalar, elektronik imzaları kriptografik olarak korunan bir şekilde uygulamak için e-ticarette ve düzenleyici dosyalarda giderek daha fazla kullanılmaktadır. Özellikle e-ticaretin hızlı yükselişi nedeniyle daha fazla önem kazanmştır. Elektronik imza sayesinde imzalanmış verinin, kimin tarafından imzalandığı ve güvenilirliği kontrol edilmiş olur. Elektronik imza; iletilen bilginin bütünlüğünün bozulmadığını, bilginin tarafların kimlikleri doğrulanmak suretiyle iletildiğini garanti eder. Ulusal Standartlar ve Teknoloji Enstitüsü veya ETSI gibi standardizasyon ajansları, bunların uygulanması için standartlar sağlar.

<span class="mw-page-title-main">Açık anahtarlı şifreleme</span> hem herkese açık hem de gizli anahtarları kullanarak yapılan şifreleme

Açık anahtarlı şifreleme, şifre ve deşifre işlemleri için farklı anahtarların kullanıldığı bir şifreleme sistemidir. Haberleşen taraflardan her birinde birer çift anahtar bulunur. Bu anahtar çiftlerini oluşturan anahtarlardan biri gizli anahtar diğeri açık anahtardır. Bu anahtarlardan bir tanesiyle şifreleme yapılırken diğeriyle de şifre çözme işlemi gerçekleştirilir. Bu iki anahtar çifti matematiksel olarak birbirleriyle bağlantılıdır.

Gizli anahtarlı şifreleme ya da simetrik şifreleme, kriptografik yöntemlerden, hem şifreleme hem de deşifreleme işlemi için aynı anahtarı kullanan kripto sistemlere verilen isimdir. Haberleşen tarafların aynı anahtarı kullanmaları gerektiği için burada asıl sorun anahtarın karşıya güvenli bir şekilde iletilmesidir. Simetrik şifreleme, anahtar karşıya güvenli bir şekilde iletildiği sürece açık anahtarlı şifrelemeden daha güvenlidir. Anahtar elinde olmayan birisi şifrelenmiş metni ele geçirse de şifrelenmiş metinden asıl metni bulması mümkün değildir. Simetrik şifrelemede haberleşen tarafların her biri için bir anahtar çifti üretilmelidir. Bu yüzden de çok fazla anahtar çifti üretilmesi gereklidir.

Anahtarsız şifreleme, anahtar kullanmayan kriptografik algoritmalar veya diğer adlarıyla Veri Bütünlüğü ve Özet Fonksiyonları veri bütünlüğünü garanti etmek için kullanılan MD5, SHA-1, RIPEMD-160 gibi kriptografi algoritmalarının kullandığı yöntemlere verilen isimdir.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

<span class="mw-page-title-main">Simetrik anahtar algoritmaları</span>

Simetrik anahtar algoritmaları aynı ya da benzer kripto-grafik şifreleri kullanarak hem şifreleme hem de deşifreleme yapan bir kripto-grafik algoritma grubudur. Şifreler ya birebir aynı ya da basit bir yöntemle birbirine dönüştürülebilir olmalıdır. Pratikte anahtarlar gizli bağlantının devam ettirilmesinde kullanılan iki ya da daha fazla taraf ile paylaşılmış bir şifreyi temsil ederler. Açık anahtarlı şifrelemeye göre ana dezavantajlarından biri iki partinin de gizli anahtara erişiminin olması gerekliliğidir.

<span class="mw-page-title-main">Kriptografik özet fonksiyonu</span>

Kriptografik özet fonksiyonu çeşitli güvenlik özelliklerini sağlayan bir özet fonksiyonudur. Veriyi belirli uzunlukta bir bit dizisine, (kriptografik) özet değerine, dönüştürür. Bu dönüşüm öyle olmalıdır ki verideki herhangi bir değişiklik özet değerini değiştirmelidir. Özetlenecek veri mesaj, özet değeri ise mesaj özeti veya kısaca özet olarak da adlandırılır.

Mesaj doğrulama kodu kriptografi biliminde bir mesajın doğruluğunu kanıtlamak için kullanılan küçük boyutlu bilgilerdir.

Kriptografide blok şifreleme, blok olarak adlandırılmış sabit uzunluktaki bit grupları üzerine simetrik anahtar ile belirlenmiş bir deterministik algoritmanın uygulanmasıdır. Blok şifreleme birçok kriptografik protokol tasarımının önemli temel bileşenlerindendir ve büyük boyutlu verilerin şifrelemesinde yaygın biçimde kullanılmaktadır.

Pretty Good Privacy (PGP), 1991 yılında Phil Zimmermann tarafından geliştirilen, OpenPGP standardını kullanarak veri şifrelemek, şifreli veriyi çözmek veya veriyi imzalamak için kullanılan, gönderilen ya da alınan verinin gizliliğini ve kimlik doğrulamasını sağlayan bir bilgisayar programıdır. Genellikle text dokümanlarını, e-postaları, dosyaları, klasörleri ve disk bölümlerini şifrelemek ve imzalamak için kullanılır.

Günlük kullanmış olduğumuz şifreler disk üzerinde özet olarak kayıt edilir. Bu özetler iki ayrı şekilde LM ve NTLM olarak tutulup birbiri ile entegre olarak işlem görür ve kimlik doğrulamasını gerçekleştirir. Windows işletim sisteminde ise kullanıcı hesapları ve parolaların şifrelemesinde kullanılan SYSKEY bilgisi SAM dosyasında tutulur. İşletim sistemi çalışır durumunda bu dosyayı kontrolünde tutar, Admin dahi olunsa işletim sistemi içerisinden herhangi bir müdahaleye izin vermez. Windows İşletim sistemleri versiyonu doğrultusunda, kullanıcı parolalarını NTLM veya LM özeti fonksiyonuna sokarlar. Sonuç olarak SYSTEM dosyası içerisinde bulunan SYSKEY ile şifreler ve bu şekilde SAM dosyasına kayıt eder. Örnek olarak SAM dosyasında tutulan kullanıcı hesap bilgileri aşağıdaki gibidir.

Bilgisayar güvenliğinde, meydan okuma – karşılık verme temelli kimlik doğrulama, bir tarafın soru sorduğu ve diğer tarafın da, kimlik doğrulama için, bu soruya geçerli bir cevap (karşılık) üretmek zorunda olduğu bir protokol ailesidir.

<span class="mw-page-title-main">Tek seferlik parola</span>

Tek seferlik parola (OTP), bir bilgisayar sistemi veya başka bir dijital cihazda bir oturum ya da işlem için geçerli paroladır. OTP 'de geleneksel (statik) parola tabanlı kimlik doğrulamasıyla ilişkili birtakım eksiklikler yoktur. Ayrıca bir dizi uygulama sayesinde OTP, akıllı kart veya bir cep telefonu gibi bir kişide bulunabilecek cihazlara erişim gerektiren veya yalnız o kişinin bilebileceği bir PIN gerektiren iki faktörlü kimlik doğrulama içerir.

SPEKE, açılımı Basit Parola Üssel Anahtar Değişimi olan, parola doğrulamalı anahtar anlaşmas için kullanılan kriptografik bir yöntemdir.

Kriptografide, scrypt, Colin Percival tarafından Tarsnap çevrimiçi yedekleme hizmeti için oluşturulan bir parola tabanlı anahtar türetme fonksiyonudur. Bu algoritma, büyük miktarda bellek gerektirerek büyük ölçekli özel donanım saldırılarını gerçekleştirmeyi pahalı hale getirmek için özel olarak tasarlanmıştır. 2016 yılında, scrypt algoritması IETF tarafından RFC 7914 olarak yayınlandı. Scrypt algoritmasının, ArtForz kullanıcı adına sahip ve gerçek adı bilinmeyen bir programcı tarafından implemente edilmiş, basitleştirilmiş bir sürümü, önce Tenebrix'te ve ardından Fairbrix ve Litecoin olmak üzere bir dizi kripto para birimi tarafından iş kanıtı şeması olarak kullanıldı.

Kriptografi alanında, PBKDF1 ve PBKDF2 olarak bilinen anahtar türetme fonksiyonları şifrelenmiş anahtarları kaba kuvvet saldırılarına karşı güçlendirmek amacıyla geliştirilmiştir.

Bcrypt, Niels Provos ve David Mazières tarafından Blowfish şifreleme yöntemi esas alınarak geliştirilmiş ve ilk kez USENIX’te, 1999 yılında sunulmuş bir parola özet fonksiyonudur. Rainbow table saldırılarına karşı salt kullanmasının yanı sıra adaptif bir fonksiyon olma özelliğine sahiptir. İterasyon sayacı arttırılarak yavaşlatılabilir ve bu sayede kaba kuvvet saldırılarına karşı dirençli kalabilmektedir.

<span class="mw-page-title-main">Şifreli metin</span> şifrelenmiş bilgi

Kriptografide, şifreli metin, şifreleme adı verilen bir algoritma kullanılarak düz metin üzerinde gerçekleştirilen şifreleme işleminin sonucunda elde edilen çıktıdır. Şifreli metin, aynı zamanda şifrelenmiş veya kodlanmış bilgi olarak da bilinir çünkü orijinal düz metnin, şifresini çözmek için uygun şifre olmadan bir insan veya bilgisayar tarafından okunamayan bir biçimini içerir. Bu işlem, hassas bilgilerin bilgisayar korsanlığı yoluyla kaybolmasını önler. Şifrelemenin tersi olan Şifre çözme, şifreli metni okunabilir düz metne dönüştürme işlemidir. Şifreli metin, kod metni ile karıştırılmamalıdır çünkü ikincisi bir şifrenin değil bir kodun sonucudur.