Bakara Suresi-217: “Sana haram ayı, o ayda savaşmayı soruyorlar. De ki haram ayda savaşmak büyük bir günahtır. Fakat insanları Allah yolundan çevirmek, Allah’ı inkâr etmek, Mescid-i Harâm’ın ziyaretine engel olmak ve halkını oradan çıkarmak Allah katında daha büyük bir günahtır. Baskı ve zulüm biçimindeki fitne adam öldürmekten beterdir. Kâfirler ellerinden geldiği takdirde dininizden döndürünceye kadar size karşı savaşmaya devam ederler. İçinizden bazıları dininden dönüp küfür halinde ölürse, böylelerinin işledikleri bütün ameller dünyada da âhirette de boşa gider. Onlar cehennemlik olup ebediyen orada kalacaklardır.” (el-Bakara 2/217)
Net Fikir » 2025 Arşivi
Amellerin Boşa Gitmesi
"...İçinizden bazıları dininden dönüp küfür halinde ölürse, böylelerinin işledikleri bütün ameller dünyada da âhirette de boşa gider. Onlar cehennemlik olup ebediyen orada kalacaklardır.” (Bakara Suresi-217)
"İçinizden bazıları dininden dönüp küfür halinde ölürse, böylelerinin işledikleri bütün ameller dünyada da âhirette de boşa gider."
[Amellerin Boşa Çıkması - İhbât]
Âyetin bu kısmında amellerin kâfirken ölüme bağlı olarak boşa gittiği ifade edilmişse de aslında iyi amel, ölümden önce inkâr etmek sebebiyle yok durumuna düşer. Bu görüşün izahı şöyledir ki ölümün, iyi amellerin boşa çıkmasına sebep teşkil etmesi ihtimal dâhilinde bulunmamaktadır. Ameller, vücut bulduğu andan itibaren bizzat küfür sebebiyle yok durumuna düşer. Zira ölümün gerçekleşmesinde kulların herhangi bir müdahalesi bulunmazken küfür onların iradesiyle gerçekleşir, bu açıdan amelin kişinin etkisi bulunmayan bir şeyle boşa çıkması mümkün değildir.
Sonuç olarak iyi amelleri yok durumuna düşüren ölüm değil inkârdır. Ne var ki âyet-i kerîmede ölüm faktörü zikredilmiştir. Çünkü insanların yaptıkları güzel fiillerin irtidat ile tamamen boşa çıkması ölümle gerçekleşmektedir. Kişinin hayatta olduğu sürece iyiliklerinden faydalanması umulabilecek bir husûstur; şöyle ki, iyilikte bulunan kimse inkâr yoluna saptığı takdirde bir bakıma güzel davranışlarını inkâr edip boşa çıkarmış olur. Kişi, küfürden sonra müslüman olursa geçmişte yaptığı davranışından dolayı pişmanlık duyar ve bu sayede İslâm’dan önceki kötü fiilleri sevaba çevrilir. İşte bu durum, kişinin menfaatlendirilmesi halidir. Nitekim Cenâb-ı Hak, “Allah tövbe ve iman edip iyi davranışta bulunanların kötülüklerini iyiliklere çevirir, Allah bütün günahları bağışlayan ve merhamet edendir” {el-Furkān 25/70} buyurmuştur.
Amellerin dünya çapında boşa gidişi, onları gerçekleştiren kimsenin işlediği hayırlar ve dine bağlılığı sebebiyle insanlar nezdinde hak kazandığı hürmet, üstün tutulma ve hayırla yâdedilmenin ortadan kalkması şeklinde kendini gösterir. Böylesi İslâm dininden döndüğü takdirde bütün bu iyi sonuçlar yok olur, artık insanların nazarında köpekten ve domuzdan daha aşağı bir yaratık konumuna düşer. Dinden dönen kimsenin (mürted) işlediği iyi amellerin âhiret hayatında boşa çıkması ise mükâfatlarının yok olmasıdır. Aslında kişinin âhiret hayatında elde edeceği mükâfat iyi amelleri sadece işlemesi değil aynı zamanda onları Allah’ın huzuruna çıkarmasına bağlıdır. Cenâb-ı Hakk’ın şu beyanlarına dikkat etmez misin? “Bizim huzurumuza bir sevapla gelene on katı verilecektir”{el-En‘âm 6/160}; “İyi davranışlarda bulunmuş bir mümin olarak O’nun huzuruna çıkanlara üstün dereceler verilecektir: İçinde ebedi kalacakları, zemininden ırmaklar akan adn cennetleri! İşte manevî arınmadan geçenlerin mükâfatı budur”{Tâhâ 20/75-76}. Bu ilâhî beyanlar, iyi amellere ait mükâfatın sadece onların işlenmesiyle değil, Allah’ın huzuruna götürülmesiyle mümkün olduğunu ifade etmektedir. Nihaî gerçeği bilen Allah’tır.
[Tevilat'ül Kur'an, Maturidi, Bakara Suresi-217]
İnsanın musibetlerle imtihanı
155. “Şunu bilin ki biraz korku ve açlıkla, mallardan, canlardan ve ürünlerden biraz zayiat verdirmek suretiyle sizi imtihana tâbi tutacağız. Resûlüm! Güçlüklere karşı sabredenleri iyi bir gelecekle müjdele.”
156. “Onlar ki başlarına bir musîbet gelince, ‘Hepimiz Allah’ın kullarıyız ve eninde sonunda O’na dönüş yapacağız’ demenin bilincini taşırlar.” (Bakara Suresi-155-156)
"Şunu bilin ki biraz korku ve açlıkla, mallardan, canlardan ve ürünlerden biraz zayiat verdirmek suretiyle sizi imtihana tâbi tutacağız." Burada azîz ve celîl olan Allah, başlarına gelebileceği belirtilen musîbetler karşısında şikâyet etmemeleri için yaratıklarına uyarı yapmaktadır. Bu musîbetlerin her birinde “az bir şey, biraz” anlamında bi-şey’ (بشئ) kelimesi var kabul edilir, biraz korku, biraz açlık gibi. Nihaî gerçeği bilen Allah’tır. Çünkü Allah Teâlâ Kur’ân’ın birden fazla âyetinde insanları (dünyada ebedi olarak yaşamaları için değil) ölmek ve hayatın sona ermesi için yarattığını, kendilerine verdiği dünya malı ve süslerinin tümünün yok olup ortadan kalkmaya mahkûm olduğunu haber vermiştir.
“... Sizi sınamak için ölümü ve hayatı yaratmıştır”{el-Mülk 67/2.}; “Biz, kimlerin daha güzel bir davranış sergileyeceğini denemek için yeryüzündeki her şeyi kendisine özgü bir süs biçiminde yarattık. Hiç şüphe yok ki zamanı gelince oradaki her şeyi kupkuru toprağa çevireceğiz.”{el-Kehf 18/7-8.}
Allah, ayetlerdeki {el-Mülk 67/2} ve {el-Kehf 18/7-8} bu beyanlarında dünyanın ve sahip olduğu çekiciliğinin yok olacağını haber vermiştir. Bütün bunların, sözü edilen sonuca mâruz kalacağını bilen bir kimse, karşılaşacağı hastalık, açlık, mal ve can kaybı gibi musîbetlere daha kolay göğüs gerebilirler. Çünkü bunların hepsi bahis konusu akıbetten daha hafiftir. Bir de Allah’ın insanlara verdiği hayat, sağlık ve selâmeti hak ettikleri için değil, iyilik ve lütuf olsun diye vermiş ve bunu ebedî değil belli bir süreye bağlamıştır; sanki o imkânlar bu süre dışında onlara değil, başkalarına aittir. Sonuç olarak insanlar imkânlar var oldukça O’na minnettar olacaklarını, alınca da buna hakkının bulunduğunu bilmiş olacaklardır.
[Belaya Mâruz Kalma]
Âyette yer alan “korku” iki şekilde olabilir: Kulluğun yerine getirilmesi açısından korku, meselâ düşmanla cihâd ve savaşma emri gibi, bir de kullukla ilgisi bulunmayan korku. Açlığın ibadet niteliğinde olması da mümkündür, oruç gibi. Bir de kıtlık zamanı çekilen açlık gibi bir musîbet olabilir, Mekkeliler’in senelerce çektikleri kıtlık musîbeti gibi. Mallardan zayiat verdirme meâlindeki ifade de aynı şekilde zekât ve sadaka vermekle insanların imtihan edilmesi olabileceği gibi malın kendisinin telef olması da olabilir. Yine canların eksiltilmesi de sözünü ettiğim iki şekilde anlaşılabilir, ürünler ifadesi de aynıdır. Ayrıca sınamanın sadece bu sayılan şeylerle olacağı anlaşılmamalıdır. Zira insanlar O’nun kulları olup tümünü her türlü yöntemle sınama hakkına sahiptir. Fakat âyetin burada söylemek istediği biraz önce de belirttiğimiz gibi yok olmak üzere her şey yaratıldığına göre zikredilenlerin bir kısmı aynı konumdadır, tâ ki bu tür kayıplar insanlara ağır gelmesin. Nihaî gerçeği bilen Allah’tır.
"Şunu bilin ki biraz korku ile sizi imtihana tâbi tutacağız." Allah onları zaten bildiği bir sonuca rağmen imtihan etmektedir; tâ ki bildiği şeyin emir-nehiy çerçevesinde ve sınav konumunda gerçekleşsin. Bu, zaten bildiği bir şeyi sorması gibidir. Ayrıca duyulur âlemde gizli şeylerin ortaya çıkarılması için uygulanacak imtihan emir ve nehiy şeklinde olur; sınavı yapana hiçbir şey gizli kalmadığı halde imtihan yöntemi emir ve nehiy biçiminde belirlenmiştir. Aslında durum, “Gizliyi de aşikâreyi de bilendir”{el-En‘âm 6/73} meâlindeki beyanda belirtildiği gibi olmakla birlikte duyular ötesini (gayb) duyu âlemi konumuna getirmesi O’nun için mümkündür. Böylece sınav duyular dâhilinde cereyan etmiştir, tâ ki Allah’ın duyu ötesine dair olan bilgisi duyular dünyasında ortaya çıkmış olsun, çünkü O, ezelde bunun bilgisiyle nitelendirilmiştir. Başarıya ulaşmak ancak Allah’ın yardımıyla mümkündür.
Kul sahip olduğu her türlü imkân ve esenliğiyle birlikte gerçekte Allah’a aittir. Ancak Allah lütuf ve keremiyle kullarına isteme ve emretme hakkı olmayan biri gibi muamele etmektedir. Nitekim O şöyle buyurmuştur: “Allah müminlerden, mallarını ve canlarını, kendilerine vereceği cennet karşılığında satın almıştır.” {et-Tevbe 9/111} “Allah’a gönül hoşluğuyla ödünç verin.” {el-Müzzemmil 73/20}. Amaç bunun insanlara daha hoş gelmesini ve kendilerinden istediği harcamayı daha istekli bir biçimde gerçekleştirmelerini sağlamaktır; aslında karşılığında bir şey vaad etmeden bütün bunları kendilerinden istemesi de câizdir. Azîz ve celîl olan Allah’ın sayılan şeylerle, “Sizi imtihana tâbi tutacağız” meâlindeki beyanı, O’nun, kendilerinden satın alma vaadinde ve harcama yapmaları talebinde büyük mükâfat ve bedel vereceğini bilmeleri içindir. Böylece istenilen şeyleri yapmaları onlara daha kolay gelir ve gönülleri hoş olur. Yahut da Allah’ın işin başlangıcında belirtilen şeylerle kendilerini sınayacağını haber vermesi morallerini güçlü tutmaları, gönüllerinin sıkılmaması ve sınava tâbi tutulduklarında sızlanmamaları hikmetine bağlıdır. Aslında insanın tabiatına aykırı olan her şey böyledir. Ona alıştırıldığı ve gelişinden önce zorluğu haber verildiği takdirde, bilmeden gelmesi durumuna göre onu daha hafif ve daha kolay karşılar. Şu da var ki bu tür sıkıntılarda insanların kalbinde olayları bazı yaratıklara nispet etme ve onları uğursuz sayma temayülü vardır. Bu sebeple Allah sözü edilen konuda önceden beyanda bulunmuştur, tâ ki insanlar meydana gelecek şeylerin O’nun bir planlamasının sonucu olduğunu bilsinler; şu âyet-i kerîmede olduğu gibi: “Yeryüzünde vuku bulan veya sizin başınıza gelen bir musîbet yoktur ki onu yaratmadan önce bir kitapta bulunmuş olmasın”{el-Hadid 57/22}. Cenâb-ı Hak, musîbetlerin önceden insanlar hakkında yazıldığını bildirmiştir ki moralleri güçlensin ve gönülleri huzur bulsun.
İnsanların Allah tarafından imtihana tâbi tutulması konusunda hareket noktası şudur ki Kur’ân’da sınav konusu olarak zikredilen hayır ve şer türünden her şey gerçekte kulun hakkı olmayıp Allah’ın nimet ve lütuf eseridir. Cenâb-ı Hak, insanı sonsuza kadar dünyada hayat sürmesi için yaratmamış ve ona verdiği yaşama nimetini de ebedî kılmamıştır. Buna paralel olarak lütfettiği nimetler de sonsuz değildir. Kul, yaratılışının bağlı kılındığı bu statüyü ve sahip kılındığı nimetleri bu çerçeve içinde gönülden benimsediği takdirde hayatı boyunca takip ettiği seyir kendisine münasip görünür ve gönül huzuruna kavuşur. O, mahzar kılındığı nimetlerin belli bir zamana tahsis edildiğini hiçbir şekilde unutmaz. Şunu da hatırlatmak gerekir ki insana lütfedilen nimetler aslında kendisine değil başkasına, yani Allah’a aittir. Bu sebeple ondan alınan nimet gerçekte başkasına ait bir şeydir. Gerçi azîz ve celîl olan Allah lütfettiği nimetleri zaman zaman sınav amacıyla kulundan almakta ve bunu iptilâ ve musîbet diye nitelemektedir. Ancak -daha önce de değindiğim gibi- bu husûs, Cenâb-ı Hakk’ın kullarına yönelik muamelesinde onların hak sahibi olduğu şeklindeki lütfunun bir tecellisidir. Bütün güç ve kudret Allah’a aittir.
'Biraz korku ve açlık ile...' Devamı ile birlikte bu ifadede yer alan her bir ünitede “şey” (شئ) kelimesi var kabul edilir, çünkü bunların her biri âyetin geçen kısmına atıf konumundadır; bir bakıma Allah şöyle buyurmaktadır: Biraz korku, biraz açlık... Bütün güç ve kudret Allah’a aittir. Cenâb-ı Hakk’ın âyette haber verdiği imtihan iki şekilde gerçekleşir. Birincisi, (düşmanla savaşmak gibi) ibadet konumunda bulunan korku vb. şeylerle sınava tâbi tutmasıdır. İkincisi, ibadet konumunda olmayan bir husûsla imtihan etmesidir. Bu da içinde korku unsuru bulunan cihâtla yahut da kendisine isabet edecek hastalık ve yorgunluk türleriyle onu imtihana çekmesidir, kul bu durumda kendi hayatından endişe eder. Açlık yoluyla... Bu sınav türü Allah Teâlâ’nın kulunu bir nevi açlık özelliği taşıyan oruç, geçim darlığı veya pahalılıkla imtihan edişidir. Mallardan zayiat; bu, cihâd, hac, zekât ve servetler için tahakkuk ettirilen diğer mükellefiyetler yoluyla olabileceği gibi, ticaret hayatında iflâsa mâruz kalmak, ayrıca geçimini sağlama sırasında ortaya çıkan sıkıntılar yoluyla da olur. Canlardan zayiat; sınavın bu türü cihâd ve düşmanla savaşma şeklinde gerçekleşmesinin yanı sıra çeşitli hastalıklarla da vuku bulabilir. Ürünlerden zayiat; böylesi yağmurun az olması, iş ve el becerisinin yetersizliği yahut da cihâd ve hac gibi sebeplerle memleketinden uzak kalınması yollarıyla gerçekleşebilir. Yüce Allah, tefsirini yapmakta olduğumuz âyette biraz önce değindiğimiz husûslardan hepsi değil bir kısmı ile insanları sınava tâbi tutacağını haber vermiştir. Bu husûs azîz ve celîl olan Allah’ın imtihanda kullarının bütün çıkış yollarını kapamadığını göstermektedir, aksine sözü edilen nimetlerin her birine -eksik veya zor konumunda da olsa- ulaşabilmek için bir yol açmıştır.Benzer şekilde Allah Teâlâ sınav konusu olan bütün fiilleri ve bu sınava tâbi tutulan bütün insanları korku ile ümit arasında bulundurmuştur. Bütün güç ve kudret Allah’a aittir. Şimdi, Allah Teâlâ’nın, kullarını sınava tâbi tutma hakkı bulunmasına rağmen onlar için büyük bir müjde ve bol bir mükâfat üslûbu kullanmıştır. Böylesi bir mükâfat vermek, imtihan ettiği kimseler üzerinde hiçbir hakkı bulunmayan kimse için tabii ise de her şeyin ve her hakkın kendisine ait bulunduğu bir varlık için ne büyük lütufkârlıktır! O şöyle buyurmuştur: "Güçlüklere karşı sabredenleri iyi bir gelecekle müjdele. Ardından da sabredenleri şöyle nitelemiştir: Onlar ki başlarına bir musîbet gelince, Hepimiz Allah’ın kullarıyız ve eninde sonunda O’na dönüş yapacağız." {Bakara 156} demenin bilincini taşırlar. Bu âyet-i kerîmede Allah, musîbetin gelmesi halinde kuluna tevhid inancına sığınıp dayanmasının yolunu göstermiştir, çünkü tevhidin özü bu ifadenin içindedir. Sözü edilen ifadede (istircâ) kulun, Allah’ın verdiği hükümde kendisine özgü bir tedbir ve çözüm şeklinin olmayacağının dile getirilişi vardır. Yine bu ifadede kulun, kendi varlığını ve buna ait olan her şeyi dilediği gibi tasarrufta bulunması için Allah’a teslim edişi vardır.
"Hepimiz Allah’ın kullarıyız." Sabreden kullar adına Allah sanki şöyle demektedir: "Aslında bizim kendimize ait olmayan husûslarda herhangi bir hükme varıp tasarrufta bulunmaya hakkımız yoktur, her zaman geçerli olan kurala göre bütün mülkiyetlerde hüküm verme ve tasarrufta bulunma yetkisi sahiplerine aittir. Böyle bir teslimiyetledir ki kul, kendi nefsini, sızlanmaktan korumaya ve onu (aslında iyi olan) hoşlanmadığı şeylere sevk etmeye muktedir olur."
"Ve eninde sonunda O’na dönüş yapacağız." Bir bakıma şöyle demektedir: Dönüşümüz O’na olacağına göre bunun herkesin bir anda ya da yavaş yavaş ve gruplar halinde gerçekleşmesi arasında fark yoktur. Hatta parça parça olması bizim için bir nimettir, hepimizi değil bir kısmımızı yanına almayı kabul etmesi engin lütfunun eseridir. Âyetin bu kısmında yer alan teslimiyet (istircâ) ifadesinde kişiye akıbetini hatırlatma unsuru vardır, tâ ki o, ebedî karargâhında mutluluğunun temel unsurunu teşkil eden husûslardan bir kısmını şu anda hazırlayıp göndermiş biri gibi olsun. (Ölüm yoluyla gerçekleşen) bu fiilî haber amacına ulaşmıştır. Bilindiği gibi dünyada iken âhirete yönelik bu hazırlık, insanın psikolojik muhtevası ve gönül huzuru açısından, bütün mutluluk vesilelerinin dünyaya münhasır kalmasından daha iyidir. Başarıya ulaşmak ancak Allah’ın yardımıyla mümkündür.
Hülâsa, içinde yaşadığımız dünya sürüp gitmesi için yaratılmamış, fakat insanın, âhireti kazanmasına vesile olması için var edilmiştir. Allah dünyadaki her şeyi iğreti ve sonlu kılmıştır ki kul bu sayede sonsuzu ve sürekliyi elde etmiş olsun. Bunun izahı şudur ki her insanın, eline geçirdiği imkân konusundaki temel görevi, o şeyin yaratılış gayesini görmesi ve uğrunda çaba sarfetme hedefini belirlemesidir. Kişi bu takdirde yaptığı ticaretten doruk noktasında kâr ettiğinin bilincine ulaşır ve fâniyi verip bâki olan şeye sahip olduğunu anlar. Şu da var ki dünyadaki her şey sona erme ve yok olma âfetine mâruzdur. Dolayısıyla Allah’a teslim olan kişi âfete mâruz olanı olmayanla değiştirmiş bulunur. Bu amaçla mâruz kalacağı sıkıntıları bir büyük plan dahilinde musîbet saymaması gerekir. Aksine bunlar sevincin en üst mertebesini ve menfaatin en doruk noktasını teşkil eder. Ne var ki insan türü, her çeşit elemden nefret eden ve aslında herkesin uzaklaşmak şöyle dursun arzu edeceği sonuçlardan habersiz bir tabiata sahip kılınmıştır. Yardım istenecek olan yalnız Allah’tır.
Allah Teâlâ Peygamber’ine ﷺ imtihana tâbi tuttuğu kullarından karşılaştıkları belâlara sabredenleri, sıkıntılardan dolayı sızlanmayıp “innâ lillâhi ve innâ ileyhi râci‘ûn” (انّا للّٰه وانّا اليه راجعون) diyenleri müjdelemesini emretmiştir. Çünkü bu ifadede azîz ve celîl olan Allah’ın birliğini ve öldükten sonraki dirilmeyi kabul ediş vardır.
İbn Abbâs’tan (r.a.) şöyle dediği rivâyet edilmiştir: “Allah, bir musîbete uğrayıp da “innâ lillâh ve innâ ileyhi râci‘ûn” (انّا للّٰه وانّا اليه راجعون) diyen kimsenin sıkıntısını giderir, akıbetini hayırlı kılar ve kaybettiği kimsenin yerine memnûn kalacağı hayırlı birini lütfeder”{Heysemi, Mecma'u'z-zevaid, I,330-331}.
Sabır, kaybettiği şeyden ötürü nefsi sızlanmadan alıkoymaktır. Zaten kaybolanın tamamı azîz ve celîl olan Allah’a ait olup insanlar nezdinde emanet konumundadır. Başkasının olan bir şeyin elden çıkmasına feryat etmenin de bir anlamı yoktur. Cenâb-ı Hakk’ın şu buyruğuna bakmaz mısın: “Elinizden çıkana üzülmeyesiniz ve Allah’ın verdiği nimetlerden dolayı şımarmayasınız diye.”{el-Hadid 57/23} Allah bu beyanı ile elimizden çıkan şeye üzülmemizi yasaklamıştır, çünkü gerçekte o bize ait değildir. Bunun yanında lütfettiği imkânlardan ötürü de şımarmamızı yasaklamıştır, bunlar da hakikatte bize ait değil başkasınındır. Başarıya ulaştıran sadece Allah’tır.
[Tevilat'ül Kur'an, Maturidi, Bakara Suresi-155-156]
Karatsuba Çarpım Algoritması
Çarpma işlemi, toplama işlemine göre daha karmaşık yapılı bir işlemdir. Çarpma işleminde sola kaydırma işlemi yaparak alt alta basamak sayısı kadar işlem yapılmış olur. Yani 3 basamaklı bir sayı ile 3 basamaklı bir sayı çarpılırsa 3²=9 kadar çarpma işlemi yapılır.
4 basamaklı bir sayı ile 4 basamaklı bir sayı çarpılırsa 4²=16 kadar çarpma işlemi yapılır. 5 basamaklı bir sayı ile 5 basamaklı bir sayı çarpılırsa 5²=25 kadar çarpma işlemi yapılır. Bu şekilde devam edildiğinde n basamaklı bir sayı ile n basamaklı bir sayı çarpılırsa n² kadar çarpma işlemi yapılır. Bu nedenle klasik çarpma algoritmasında basamak sayısı arttıkça çarpım sonucunu bulmak daha zor hale gelir. Rus Matematikçi Anatoly Karatsuba, özellikle büyük basamaklı sayıların çarpımını daha kolay hesaplamak için yeni bir çarpım algoritması yazmıştır ve bu yönteme Karatsuba Algoritması adı verilmiştir. Bu algoritmada amaç; çarpılacak sayıları alt gruplara bölerek daha az sayıda işlem yaparak sonuca ulaşmaktır.
Çarpma işlemi bilgisayar aritmetiğindeki en önemli işlemlerden biridir. Karatsuba algoritması, çarpma işlemini basitleştirerek işlemlerin verimliliğini arttırmak, işlem maliyetini ve süreyi azaltmak için geliştirilen algoritmalardan biridir. Klasik yöntemde n bitlik iki tamsayının toplanması O(n) bit işlemi gerektirmektedir. İki n bitlik tamsayının çarpılması ise O(n²) bit işlemi gerektirmektedir. Karatsuba algoritması iki n bitlik sayının çarpılması için böl ve fethet (divide and conquer) tekniğini kullanır ve bu algoritmada O(nlog3) bit işlemi gerekir. Karatsuba algoritması çarpma işleminde bazı çarpmaları yapmak yerine daha az maliyetli olan toplama ve çıkarma işlemleriyle değiştirerek işlem sayısını en aza indirmeyi sağlayarak işlemlerin daha hızlı sonuca ulaştırır. Karatsuba algoritması küçük basamaklı (dijit) sayılar için klasik çarpma algoritmasından daha yavaş çalışmaktayken daha büyük basamaklı sayılar için çarpma işlemi yapıldığında daha hızlı ve verimli bir sonuç sunar.
Karatsuba algoritması çarpma işlemine göre 2 basamaklı iki sayıyı çarpmak istediğimizde, önce sayıları anlamlı bloklara ayırıp işlemleri kolaylaştırırız. Yukarıda verilen akış şemasına göre önce onlar basamağındaki iki sayıyı çarparız. (A) Sonra sayıların birler basamaklarındaki sayıları çarparız. (B) Arkasından her iki sayının da basamaklarını toplayıp bunları kendi arasında çarparız.(C) Bütün sonuçlar bulunduktan sonra her iki sayının da basamaklarını toplayıp bunları kendi arasında çarptığımız sonuçtan (C) diğer bulduğumuz iki sonucu çıkartırız. D=(C-A-B). En sonunda ayırma işlemine göre bulunan A,B ve D sonuçlarını blok içinde bulunduğu onluk bölük içinde A.10n +D.10(n/2)+B biçiminde yazarak işlemi bitiririz. Burada klasik çarpmada 2 dijitli iki sayının çarpımında 2*2=4 işlem yapmak yerine sadece 3 çarpma işlemi yaparak daha kolay olan toplama ve çıkarma işlemleri ile sonuca ulaşılmış olur. Böylece bilgisayar programlamada büyük basamaklı sayılarda bu işlemleri yapmak zaman açısından daha verimli hale gelir.Karatsuba algoritması çarpma işlemine göre 3 basamaklı (dijit) olarak verilen iki tane sayıyı çarpmak istediğimizde, önce sayıları anlamlı ikişerli uygun bloklara ayırıp işlemleri kolaylaştırırız. Yukarıda verilen akış şemasına göre önce bu bloklarda ayrı ayrı çarpma işlemi uygulayarak sonuca ulaşırız.
Karatsuba algoritması çarpma işlemine göre 2 basamaklı iki sayıyı çarpmak istediğimizde, önce sayıları anlamlı bloklara ayırıp işlemleri kolaylaştırırız. Yukarıda verilen akış şemasına göre önce onlar basamağındaki iki sayıyı çarparız. (A) Sonra sayıların birler basamaklarındaki sayıları çarparız. (B) Arkasından her iki sayının da basamaklarını toplayıp bunları kendi arasında çarparız.(C) Bütün sonuçlar bulunduktan sonra her iki sayının da basamaklarını toplayıp bunları kendi arasında çarptığımız sonuçtan (C) diğer bulduğumuz iki sonucu çıkartırız. D=(C-A-B). En sonunda ayırma işlemine göre bulunan A,B ve D sonuçlarını blok içinde bulunduğu onluk bölük içinde A.10n +D.10(n/2)+B biçiminde yazarak işlemi bitiririz. Burada klasik çarpmada 2 dijitli iki sayının çarpımında 2*2=4 işlem yapmak yerine sadece 3 çarpma işlemi yaparak daha kolay olan toplama ve çıkarma işlemleri ile sonuca ulaşılmış olur. Böylece bilgisayar programlamada büyük basamaklı sayılarda bu işlemleri yapmak zaman açısından daha verimli hale gelir.Karatsuba algoritması çarpma işlemine göre 3 basamaklı (dijit) olarak verilen iki tane sayıyı çarpmak istediğimizde, önce sayıları anlamlı ikişerli uygun bloklara ayırıp işlemleri kolaylaştırırız. Yukarıda verilen akış şemasına göre önce bu bloklarda ayrı ayrı çarpma işlemi uygulayarak sonuca ulaşırız.
Karatsuba algoritması çarpma işlemine göre 4 basamaklı (dijit) olarak verilen iki tane sayıyı
çarpmak istediğimizde, önce sayıları anlamlı ikişerl ikişer uygun bloklara ayırıp işlemleri
kolaylaştırırız. Yukarıda verilen akış şemasına göre önce bu bloklarda ayrı ayrı çarpma işlemi uygulayarak sonuca ulaşırız.
1.https://www.geeksforgeeks.org/karatsuba-algorithm-for-fast-multiplication-using-divide-and-conquer-algorithm/
2.https://brilliant.org/wiki/karatsuba-algorithm/
3.Karatsuba ve nikhilam çarpma işlemi algoritmalarının farklı bit uzunlukları için performanslarının karşılaştırılması, Can Eyüpoğlu, Ahmet Sertbaş, İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Yıl:14 Sayı: 27 Bahar 2015 s. 55-64
MSÜ-2025 Sınavı Matematik Çözümleri (%10)
(Milli Savunma Üniversitesi Askeri Öğrenci Aday Belirleme Sınavı) MSÜ 2025 Sınavı YKS provası olması açısından önemli bir sınav oldu. Hedefi askeri okullar olanlar için ciddi bir sınav olmakla birlikte MSÜ sınavı YKS'ye girecek olan adaylar için de kendilerini resmi bir ortamda test etmek amacına kavuştu. Bu vesile ile her sene adaylar artarak bu sınava rağbet göstermeye devam ediyorlar. MSÜ sorularının TYT sorularına kısmen benzerliği YKS öncesi moral ve motivasyon açısından da önemli oluyor.
23/02/2025 Pazar tarihinde Milli Savunma Üniversitesi Askeri Öğrenci Aday Belirleme Sınavı ÖSYM tarafından gerçekleştirildi ve akabinde sınav sorularının %10 luk kısmı basın yoluyla herkesin erişimine açıldı. Açıklanan matematikt sorularının çözümleri aşağıda verilmiştir. Sınavın herkes için hayırlı olmasını temenni ediyorum.
Türev ve Değişim Hızı
Türevde değişim oranı, bir fonksiyonun belirli bir noktadaki eğimini ifade eder. Matematikte türev, bir fonksiyonun herhangi bir noktadaki anlık değişim hızını hesaplamak için kullanılır. Değişim oranı fonksiyonun ne kadar hızlı değiştiğini gösterir ve genellikle bu değişim hızı, birim zamandaki değişimin büyüklüğü olarak ifade edilir. Türevde değişim oranı, bir fonksiyonun eğiminin o noktada ne kadar keskin olduğunu belirlememizi sağlar ve bu sayede optimize etme, modelleme ve analitik hesaplamalar gibi birçok alanda kullanılır.
Bir fonksiyonun bir aralıktaki değişim oranı, o aralıktaki fonksiyon değerlerinin farkının, o aralıktaki bağımsız değişkenin değerlerinin farkına bölünmesi ile hesaplanır.
Matematiksel olarak değişim hızı, (f(b) - f(a)) / (b - a) formülü ile ifade edilir, burada f(b) ve f(a) sırasıyla aralığın sağ ve sol uçlarındaki fonksiyon değerlerini, a ve b ise aralığın sağ ve sol uçlarındaki bağımsız değişken değerlerini temsil eder.
Bir fonksiyonun değişim oranı, o fonksiyonun belirli bir aralıktaki eğimi ya da artış hızını temsil eder. Bu değişim oranı genellikle iki nokta arasındaki eğimi ölçmek için kullanılır. Eğer bu oran (eğim) pozitif ise fonksiyon artıyor, (eğim) negatif ise fonksiyon azalıyor demektir. Değişim oranı, bir fonksiyonun davranışını anlamak ve analiz etmek için önemli bir kavramdır ve matematiksel modellemede ve çeşitli alanlarda sıkça kullanılır. Bağımsız değişkenler arasındaki ilişkiyi belirlemek ve trendleri anlamak için değişim oranı oldukça faydalı bir araçtır. Aşağıda konu ile ilgili çeşitli örnek soru çözümleri verilmiştir.
Örnek: Bir eşkenar üçgenin bir kenarı 4 cm/sn hızla büyümektedir. Bir kenar uzunluğu 12 cm olduğu anda alanının büyüme hızı kaç
cm²/sn olur?
Örnek: Küre şeklindeki bir balon üzerinde bulunan bir delikten hava kaçırmaktadır. Balonun yarıçapı 6cm olduğu anda hacminin azalma hızı 24 cm³/sn olduğuna göre yarıçapının azalma hızı kaç cm/sn olur?
Örnek: Kare dik prizma şeklindeki cam su deposunun altında yer alan bir musluktan saniyede 3 m³ su boşalmaktadır. Buna göre depo içindeki suyun yüksekliğinin azalma hızı kaç m/sn olur?
Örnek: Başlangıçtaki yarıçapı 5 cm olan küre şeklindeki bir balon t = 0 anından itibaren geçen sürede t saniye sonra r=(80-t)/16 cm olacak şekilde içinden sürekli hava sızdırmaktadır. Buna göre, t= 40 iken içerdeki hava kaç cm³/sn hızla dışarı sızar?
Örnek: İçi tamamen su dolu olan taban yarıçapı 9cm ve yüksekliği 18 cm olan koni şeklindeki bir cisim tepe noktasındaki A noktasından delinip ters çevrildikten sonra içindeki su akmaya başlamıştır. Su yüksekliği 6 cm olduğu anda, kaptaki suyun yüksekliğine bağlı değişim oranı kaç cm³ olur?
Örnek: Bir pistte yer alan roket dik doğrusal hareket etmektedir. Başlangıçta zemine dik bir şekilde sabit bir noktada olan roketin, aynı zeminde bulunan bir A noktasına uzaklığı 80 m'dir. Roketin kalkış yaptıktan sonra aynı zemindeki başlangıç noktasına uzaklığı 60 m olduğu andaki değişim hızı 10 m/sn olduğuna göre roketin zeminde bulunan A noktasına olan uzaklığının değişim hızı kaç m/sn olur?
Örnek: Sokak lambasından 5 m/s hızla yürüyerek uzaklaşan ve boyu 2 metre olan bir kişinin lambadan uzaklığı 10 m olduğu anda bu kişinin gölgesinin ucu da 6 m/s hızla kendisinden uzaklaşarak hareket ediyorsa sokak lambasının boyu kaç m'dir?
Örnek: Dik üçgen biçimindeki oda yeniden düzenlenirken zemine dik olacak sekilde bir kontrplak zemine yerleştiriliyor. Yerleştiriken kontrplak duvara doğru ok yönünde saniyede 28 cm hızla hareket ettirildiğinde x uzunluğunun artma hızı kaç cm/sn olur?
Örnek: Boyu 5 metre olan dikdörtgen biçimli bir kutu duvara dayalı halde dururken kutunun alt kısmından çekildiğinde kutunun üst ucu duvardan ayrılmadan aşağıya doğru kaymaktadır. Kutunun alt ucu saniyede 8 cm hızla 3 metre kaydığında üst ucun kayma hızı kaç metre/sn olur?
Kadane Algoritması
Kadane Algoritması, belirli bir sayı dizisi içindeki maksimum alt dizi toplamını bulmak için kullanılan dinamik bir programlama tekniğidir. Dinamik Programlama, karmaşık bir problemi daha basit alt problemlerden oluşan bir koleksiyona bölerek, bu alt problemlerin her birini yalnızca bir kez çözerek ve çözümlerini bellek tabanlı bir veri yapısı (dizi, harita vb.) kullanarak saklayarak çözme yöntemidir. Yani bir dahaki sefere aynı alt problem ortaya çıktığında, çözümünü yeniden hesaplamak yerine, daha önce hesaplanan çözüme bakılır ve böylece hesaplama süresinden tasarruf edilir. Adını mucidi Jay Kadane'den alan algoritma; bilgisayar bilimi ve veri analizinden finans ve görüntü işlemeye kadar çeşitli alanlarda uygulamalara sahiptir. Algoritma 1984 yılında Jay Kadane tarafından önerilmiştir ve O(n) zaman karmaşıklığına sahiptir.
Kadane Algoritması, belirli bir dizideki maksimum alt dizi toplamını bulmak için kullanılan doğrusal bir zaman algoritmasıdır. Bir alt dizi, dizi içindeki öğelerin bitişik bir alt kümesi olarak tanımlanır. Algoritma, pozitif ve negatif sayıları çok verimli bir şekilde ele alır, bu da onu alt dizileri içeren birçok sorunu çözmek yerine daha pratik çok yönlü bir çözüm aracı haline getirir.Kadane'nin algoritmasından önce, maksimum alt dizi problemini çözmek için tüm olası alt dizileri kontrol eden kaba kuvvet yaklaşımı ve böl ve yönet algoritması gibi başka algoritmalar önerilmişti. Ancak bu algoritmalar daha yüksek zaman karmaşıklığına sahiptir ve Kadane'nin algoritmasından daha az verimlidir. Kadane'nin Algoritmasının altında yatan mekanizmaları, Java kodu uygulamalarını, adım adım süreci, Kadane'nin algoritma leetcode'unu, C, C++'yi, zaman karmaşıklığını, avantajlarını ve dezavantajlarını, pratik uygulamaları ve daha fazlasını anlamanız sizin için faydalı olacaktır.
Kadane Algoritması, dizi üzerinde yineleme yaparak ve her konumda biten alt dizinin maksimum toplamını takip ederek çalışır. Her i konumunda, iki seçeneğimiz vardır: ya i konumundaki elemanı geçerli maksimum alt diziye ekleyin ya da i konumunda yeni bir alt dizi başlatın. Bu iki seçeneğin maksimumu i konumunda biten maksimum altdizidir.
Yazılım dilinde bu algoritma şu şekilde işler: Başlangıç toplamı max_so_far ve max_ending_here değerleri 0 olarak alınıp dizi öğeleri tek tek incelenir. Sırasıyla şu ana kadar görülen maksimum toplamı ve geçerli konumda biten maksimum toplamı takip etmek için max_so_far ve max_ending_here olmak üzere iki değişkeni her dizi elemanında korunur. Algoritma, her iki değişkeni de dizinin ilk öğesinden başlayarak sırasıyla değiştirir. Daha sonra dizinin elemanlarını aldıktan sonra geçerli toplamı maksimum toplamla kıyaslayarak ikinci öğeden dizinin sonuna kadar aynı işlemler tekrarlanır. Her i konumunda, geçerli öğenin maksimumunu ve önceki maksimum alt diziye eklenen geçerli öğeyi alarak max_ending_here'i güncellenir. Daha sonra max_so_far'ı max_so_far ve max_ending_here'nin maksimumu olacak şekilde güncelleme işlemine devam edilir. Geçerli toplam maksimum toplamdan büyük ise artık yeni maksimum toplam değeri buna göre güncellenir aksi halde önceki maksimum toplam aynı kalır. Algoritma, dizideki herhangi bir alt dizinin maksimum toplamı olan max_so_far değerini sürekli olarak döndürür. Dizinin son terimine gelince işlem biter ve maksimum toplamı veren alt dizi elde edilir.
Kadane Algoritmasını şöyle bir sayı dizisi örneğiyle gösterelim:
Giriş Dizisi: [-2, 1, 6, -3, 4, -1, -7, -3, 5] Bu dizinin maksimum altdizi toplamını bulmak istiyoruz. Bu sorunu çözmek için Kadane'nin algoritmasını uygulayabiliriz.
İki değişkeni başlatarak algoritmayı başlatıyoruz:
1) max_so_far: Bu değişken şu ana kadar gördüğümüz maksimum alt dizi toplamını takip edecektir. (Geçerli Toplam)
2) max_ending_here: Bu değişken mevcut endekste biten maksimum toplamı takip edecektir. (Max Toplam)
3) İlk başlangıç toplamı max_so_far ve max_ending_here=0 olur. Daha sonra ikinci elemandan başlayarak dizi boyunca toplamları yineliyoruz: Öğe -2 ye gidip yeni toplam -2 olur. (0+(-2)=-2) [Sub:-2]
4) Geçerli öğeyi önceki toplama ekleyerek geçerli toplamı güncelleyin: Geçerli Toplam=0+(-2)=-2 [Sub:-2]
5) Şu ana kadar görülen maksimum toplamı güncelleyin: 0+(-2)=-2 olur.(Maksimum Toplam=-2) [Sub:-2, Max:-2]
6) Dizi boyunca ilerleyerek yerel toplam (Geçerli toplam) ve maksimum toplam sonuçlarını yinelemeye başlayalım.
Dizide öğe 1 elemanına gelince: Geçerli toplam -1 olur. (-2+1=-1) [Sub:-1]
Maksimum toplam, geçerli toplam olan -1, max toplam -2 yi geçtiği için -1 olarak güncellenir. [Sub:-1, Max:-1]
7) Öğe 6 elemanına gidelim: Yeni geçerli toplamı 5 olur. ((-1)+6=5) Maksimum toplamı ise 5 toplamı önceki maksimum toplam olan -1 sayısını geçtiği için güncellenir ve maksimum toplam 5 olur. [Sub:5, Max:5]
8) Öğe -3'e gelince:Yeni geçerli toplamı 2 olur. (5+(-3)=2) Maksimum toplamı ise 2 toplamı önceki maksimum toplam olan 5 sayısını sayısını geçemediği için aynı kalır. Yeni maksimum toplam halen 5'tir. [Sub:2, Max:5]
9)Öğe 4'e gelince:Yeni geçerli toplamı 6 olur. (2+4=6) Maksimum toplamı 6 ise önceki max toplam 5'i geçtiği için yeniden güncellenir ve yeni maksimum toplam 6 olur. [Sub:6, Max:6]
10)Öğe -1'e gelince:Yeni geçerli toplamı 5 olur. (6+(-1)=5) Maksimum toplamı ise 5 toplamı önceki maksimum toplam olan 6 sayısını geçemediği için halen aynı kalır ve 6 olur. [Sub:5, Max:6]
11)Öğe -7'e gelince:Yeni geçerli toplamı -6 olur. (5+(-7)=-2) Maksimum toplamı ise -2 önceki maksimum toplam olan 6 sayısını geçemediği için aynı kalır. [Sub:-2, Max:6]
12)Öğe -3'e gelince:Yeni geçerli toplamı -5 olur. ((-2)+(-3)=-5) Maksimum toplamı ise -5 önceki maksimum toplam olan 6 sayısını geçemediği için aynı kalır. [Sub:-5, Max:6]
13)Öğe 5'e gelince:Yeni geçerli toplamı 0 olur. ((-5)+5=0) Maksimum toplamı ise 0 toplamı önceki maksimum toplam olan 6 sayısını artık geçemediği için aynı kalır. [Sub:0, Max:6]
Tüm dizi için bu işleme devam edip en son öğeye gelidiği için işlem biter. Bu örnekteki maksimum alt dizi, toplamının en büyük olduğu değer 6 olduğundan buna uygun bir alt dizi [-2, 1, 6, -3, 4] olur.
Java ve C++ programlamada Kadane Algoritması şöyle çalışır:
1)İki değişkeni, max_so_far ve max_ending_here'i 0'a başlatın.
2)Diziyi soldan sağa doğru yineleyin ve her öğeyi tek tek inceleyin.
3)Her öğe için, maksimum değer ya geçerli öğe ya da geçerli öğe ile max_ending_here'in toplamı olduğundan max_ending_here'i güncelleyin.
4)Max_so_far'ı mevcut max_so_far veya max_ending_here'in maksimumu kadar güncelleyin.
5)Dizideki tüm öğeler için 3. ve 4. adımları tekrarlayın.
6)Yinelemenin sonundaki max_so_far değeri maksimum altdizi toplamı olacaktır.
#include <iostream>using namespace std;int maxSubarraySum(int arr[], int size) {int maxEndingHere = arr[0];int maxSoFar = arr[0];for (int i = 1; i < size; i++) {maxEndingHere = max(arr[i], maxEndingHere + arr[i]);maxSoFar = max(maxSoFar, maxEndingHere);}return maxSoFar;}int main() {int nums[] = {-2, -1, -3, 4, -1, 2, 1, -5, 4};int size = sizeof(nums) / sizeof(nums[0]);int maxSum = maxSubarraySum(nums, size);cout << "Maximum subarray sum: " << maxSum << endl;return 0;}
Kaynakça:
https://www.tpointtech.com/kadanes-algorithm
https://www.simplilearn.com/kadanes-algorithm-article
https://www.interviewbit.com/blog/maximum-subarray-sum/
https://www.guru99.com/tr/largest-sum-contiguous-subarray.html
https://www.codecademy.com/resources/docs/general/algorithm/kadanes-algorithm
Eratosthenes Kalburu
Eratosthenes MÖ. 276-194 yılları arasında yaşamış bir Yunan bilgindir ve bilim tarihi boyunca pek çok alana önemli katkılar yapmıştır. En önemli buluşlarından biri, dünyanın çevresini etkin bir şekilde hesaplama yöntemidir. Bu yöntem kendi adıyla anılan "Eratosthenes kalburu" (veya Eratosthenes Gözü) olarak bilinir.
Eratosthenes kalburu, antik dönemde yaşamış, matematik ve coğrafya alanlarında çalışmalarda bulunmuş Eratosthenes tarafından geliştirilmiş bir usturlab türüdür. Bir usturlab, genellikle gökyüzündeki cisimlerin yüksekliğini veya konumunu belirlemek için kullanılan bir astronomik alet türüdür. Usturlabın temel bileşenleri arasında genellikle bir halka şeklindeki ölçek, eğik bir iğne (çubuk) ve bir gözlem düzlemi yer alır. Gözlem düşey açıları ölçerken usturlabın halkasındaki ölçek ile referans alınarak gökyüzündeki nesnelerin konumları belirlenebilir. Geleneksel olarak denizcilikte de kullanılan usturlaplar, gökyüzündeki yıldızlar ve Güneş'in konumunu belirlemek için önemli bir araçtır. Eski zamanlarda oluşturulan usturlab modeli, Anadolu'da eş-benzerlik anlamına gelen "delik deseni" olarak da bilinir. Üzerinde çeşitli geometrik desenler bulunan bu modellerin genellikle astronomi bilimine ve çeşitli dini inanışlara hizmet ettiği düşünülmektedir. Anadolu'da bu delik deseni, seramiklerde, halı ve dokumalarda yaşatılarak, geometrik motiflerin kullanıldığı Anadolu çini sanatının özgün ve dikkat çekici bir özelliği haline gelmiştir. Dünyanın en eski tapınağı olarak kabul edilen, devasa taş sütunların bulunduğu dairesel yapısıyla tanınan Göbekli Tepe de halk arasında "delik deseni" olarak da bilinir. Göbekli Tepe'deki delik desenleri, genellikle T şeklini temsil eder. Bazı araştırmacılar, bu delik desenlerinin astronomik gözlemlerle bağlantılı olduğunu düşünmektedir.
Eratosthenes kalburu, bir çeşit usturlab tekniğine dayanan dünyanın çevresini ve çapını yaklaşık olarak hesaplamak için kullanılan bir yöntemdir. Esas amacı güneş ışınlarının dik geldiği noktayı belirlemek ve mesafe ölçmek içindir. Bu yöntemde, aynı anda güneşin ışınlarına maruz kalan iki farklı noktadaki gölgelerin oluşturduğu açıya dayanarak yeryüzündeki bir noktanın enlemini hesaplamak mümkündür. Bu sayede, dünyanın çevresi ve çapı hakkında önemli bilgiler elde edilir.
Eratosthenes, icat ettiği bu kalbur yardımıyla güneş ışınlarının dünya üzerinde dik geldiği noktayı ölçerek yaptığı hesaplamalarla dünya yüzeyinin çevresini günümüz dünyasındaki verilere göre kısmen doğru bir şekilde hesaplamış ve bugünkü coğrafyanın gelişimine önemli katkılarda bulunmuştur.
Eratosthenes'in bu kalbur yöntemini kullanması, Asvan ve İskenderiye gibi iki farklı yerleşim yerinin güneş ışınlarından nasıl etkilendiğini gözlemleyerek oldu. Raweh'deki (günümüzde Asvan) yaz günlerinde güneşin tam bir kuyu dibine düşmek suretiyle kuyunun dibini aydınlattığını gözlemledi. Ancak İskenderiye’de aynı tarihlerde güneş tam tepeden gelmediğini ve yer ile bir açı yaptığını gördü. Buna dayanarak Eratosthenes, yeryüzündeki Mesir (Assuan) şehrine dik bir kuyu (direnge) açarak, o kuyunun dibindeki çubuğa (dikme) dolan güneşin gölgesini ölçerek Güneş’in o yerden yüksekliğini hesapladı. Bu ölçüm sonucunu, yanındaki kentin gölgesiyle karşılaştırarak, kentin Güneş'e olan mesafesini hesapladı. Eratosthenes, daha sonra bu iki yerleşim yeri arasındaki mesafeyi hesapladı. Bu yöntemlere aynı şekilde devam ederek dünyanın çapını hesapladı Eratosthenes, dünyanın çevresini bulmak için bugünün biliminde bilinen trigonometrik hesaplamaların benzerlerini kullandı. Böylece dünyanın çevresini yaklaşık olarak 40000 km (39,375 km) olarak hesaplamış oldu ki bu ölçüm sonucu güncel bilgilere göre yaklaşık olarak doğrudur.
Eratosthenes, Mısır'da gerçekleştirdiği ölçümlerde kullandığı yöntem, Firavun Ptolemy III tarafından desteklenmiştir. Eratosthenes Kalaburu, dünyanın çevresini doğru bir şekilde hesapladığı için yaşadığı dönem açısından önemli bir buluş olarak kabul edilir.
Eratosthenes'in yöntemini günümüzde kullanmak istediğimizde bu yöntem şöyle işler: İlk olarak, aynı anda güneş ışınlarının dik olarak düştüğü iki farklı konum veya noktada (örneğin, bugün Türkiye ve Mısır arasında aynı anda iki çubuk dikilir) birer çubuk dikilir. Ardından, bu çubuklara göre güneş ışınlarından çubuğun gölgesinin uzunluğu tam olarak ölçülür. Aynı anda diğer yerde bulunan çubuğun gölgesinin uzunluğu da ölçülür. Bu sayede, iki gölge uzunluğu arasındaki farktan hareketle güneş ışınlarının bu iki noktaya geliş açıları bulunur. Bugün bildiğimiz trigonometrik toplam ve fark formülleri kullanılarak bu yerlerin güneşe uzaklıkları ve dünyanın şekli baz alınarak da dünyanın çapını ve çevresini hesaplamak mümkün hale gelir.
Eratosthenes, asal sayıları hızlı bir şekilde belirlemek için de bir algoritma oluşturmuştur. "Eratosthenes kalburu" adı verilen yöntem ve asal sayıların tespitinde kullandığı algoritma, yazılım dünyası için bir döngü oluşturması açısından önemli bir buluştur. Bu yöntemde, bir sayı kümesindeki asal olmayan sayılar eleme yoluyla belirlenir. İlk adımda 2'den başlayarak sırasıyla tüm katları çıkarılarak elenir ve kalan sayılar asal olarak kabul edilir. Bu basit ve etkili yöntem, asal sayıları belirlemede yaygın olarak kullanılmaktadır. Eratosthenes'in keşfi, asal sayıları hızlı ve verimli bir şekilde belirlemede oldukça kullanışlıdır. Bu algoritma, bilgisayar biliminde ve kriptografi gibi alanlarda da yaygın olarak uygulanmaktadır. Eratosthenes kalburu, asal olmayan sayıları hızla eleme yöntemiyle çalışır ve büyük sayılar üzerinde de etkili bir şekilde işlev görür.
Eratosthenes kalburu yoluyla asal sayıları bulmak için aşağıdaki adımlar sırayla izlenir:
1. İlk olarak, istenen belirli bir aralık içindeki sayıları bir liste şeklinde sıralarsınız. Örneğin 1 den 100'e kadar olan sayılardan asal olanları bulmak istiyorsak bütün bu sayılar sıralanır.
2. Listenin ikinci elemanından itibaren başlayarak, her bir sayının katlarından başlayarak listeden çıkartırsınız. Örneğin, listemizde ikinci sayı 2 olduğundan tüm 2'nin katı olan sayıları listeden çıkarırsınız. Geriye sadece tek sayılar ve 2 elemanı kalır.
3. Her seferinde bir sonraki elemandan başlayarak işlemi tekrar ederek, liste üzerinde ilerlersiniz. Her adımda yeni bir asal sayı ortaya çıkar. Listede 3 sayısına geçirip bunun katları tek tek elenir. Sonra 5 sayısına geçilip bunun katları elenir. Bu şekilde devam edilir.
4. İşlem sonucunda listenin son elemanına ulaşıncaya kadar devam edersiniz. Elenmeden kalan sayılar asal sayılardır.
Yazılım algoritması yardımıyla aşağıdaki işlem adımları ile elde edilir.1. adım: 2’den belirlenen bir n tamsayı değerine kadar ardışık tamsayılardan bir liste oluşturun. (n=100 olsun)2. adım: Başlangıçta en küçük asalsayı olan 2’yi alarak işleme başlayın. 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,... Oluşturulan listeden 2’nin tüm tam katlarını bulup (4,6,8,10,12,…) işaretleyerek listeden çıkarın.3. adım: İşaretlenmemiş bir sonraki sayıyı alın, örneğin 3 ve tüm tam katlarını (6,9,12,15,18,....) işaretleyip bunları listeden çıkarın.4. adım: Aynı işlemlere 3.adımı algoritma sonlanana kadar tekrarlayarak devam edin. Tümsayılar işaretlenmişse veya bir sonraki işaretlenmemiş sayı artık bulunamıyorsa durun.5.adım: Listede işaretlenmemiş olarak kalan sayılar, n=100 tamsayısına kadar olan tüm asal sayılar bulunmuş olur. Artık İşlem tamamlanmıştır. Kalan asal sayıları yazarak işlemi bitirin.
Bu eleme yöntemi, asal sayıları belirlemek için oldukça etkili ve hızlı bir yöntemdir. Eratosthenes kalburu, küçük aralıklardaki asal sayıları bulmak için yaygın olarak kullanılan bir algoritmadır.Büyük aralıklarda bu yöntem, matematik ve bilgisayar bilimlerinde temel bir konsept olup, bugün bile önemini korumaktadır. Eratosthenes'in bu akıllıca icadı, sayı teorisindeki gelişmelere büyük katkı sağlamıştır.
Şifreleme Çeşitleri (Kriptografi)
Değişen Matematik müfredatı (2025) ile birlikte 9.sınıf matematik derslerinde şifreleme, siber güvenlik, kodlama ve algoritma dili gibi yazılım ağırlıklı yeni üniteler eklenmiştir. Bu konulardan biri şifrelemedir. Bu yazıda şifreleme hakkında kısa bir derleme yaparak günümüzde mevcut şifreleme tekniklerinden bazılarına değinilmiştir. Konunun uzmanlarından daha detaylı bilgiler elde etmek mümkündür. Burada kısaca şifreleme nedir? Şifreleme çeşitleri nelerdir? Örnek bir şifre nasıl oluşturulur? gibi sorulara karşılık kısa bir anlatım söz konusudur.
Şifreleme yani Kriptografi (encryption); kişisel verileri korumak için kullanılan bir kodlama ve gizleme tekniğidir. Bilgilerin gizli kalmasını sağlamak amacıyla, görünen veriler gizlenerek bunların yerine yeni harfler, sayılar ve özel karakterler kullanılarak bir şifreleme belirlenir. Bu sayede kişisel bilgilere ulaşım teorik olarak engellenmiş olur. Şifreleme işlemi, kriptografik bir anahtar kullanarak düz metni şifreli metne dönüştürür. Kriptografik anahtar, hem gönderici hem de alıcı tarafından bilinen ve kabul edilen bir dizi matematiksel değerdir. Şifreleme ve şifre çözme amacıyla kriptografi algoritmasının kullandığı sayı dizisine “anahtar” denir. Anahtar ne kadar uzunsa şifrenin kırılması da o kadar zor olur. Bir algoritmanın “n” sayısının uzunluğu kriptografik güvenliği ile doğru orantılıdır. Anahtar uzunluğu “n” sayısının bit uzunluğu olarak tanımlanır.
Doğru anahtara sahip olan herkes, şifrelenmiş verinin şifresini çözebilir veya verileri dönüştürebilir. Bu nedenle kriptografi uzmanları sürekli olarak daha gelişmiş ve karmaşık anahtarlar geliştirmektedir. Veriler 'depolamada' (saklama alanında) veya 'aktarılırken' (iletilirken) şifrelenebilir. İki ana şifreleme sınıflandırması vardır:
Simetrik şifrelemenin yalnızca bir anahtarı vardır ve tüm taraflar aynı gizli anahtarı kullanır. Asimetrik şifreleme adını birden fazla anahtara sahip olmasından alır: biri şifreleme, diğeri şifre çözme içindir. Şifreleme anahtarı herkese açıkken, şifre çözme anahtarı özeldir.
Simetrik şifreler: Şifrenin çözümlenmesi ve verilerin şifrelenmesi için tek anahtarın kullanıldığı algoritmadır. Gizli anahtarlı şifreler olarak da adlandırılır. Gizli anahtar, mesajın şifresini çözmeye yetkili tüm varlıklarla paylaşılmalıdır. Simetrik anahtar şifrelemesi çoğu zaman asimetrik şifrelemeden çok daha hızlıdır. En yaygın kullanılan simetrik anahtarlı şifre Gelişmiş Şifreleme Standardıdır (AES).
Simetrik şifrelemenin kendisine göre avantajları bulunmaktadır. Başlıca avantajları şu şekildedir: Şifreleme ve şifreyi çözme işlemleri hızlı olup, donanımla gerçekleştirilmesi kolaydır. Taraflar arasındaki iletişimin gizliliği sağlanmaktadır. Verinin bütünlüğü sağlanır ve Şifreli metin çözülemedikçe orijinal metin değiştirilemeyecektir.
Simetrik şifrelemenin sahip olduğu başlıca zorluklar şu şekilde sıralanabilir: Anahtar saklamak zordur. (Key Storage Problem)n kullanıcılı bir sistem için [n*(n-1)/2] anahtar saklanmalıdır. Ölçeklendirilebilir değildir. Güvenilir anahtar dağıtımı zordur. (Key Distribution Problem) Kimlik doğrulama (authenticity) sağlamaz. Aynı anahtara sahip olan herhangi birisi tarafından veri şifrelenmiş olabilir.Bütünlük sağlamaz. Ortadaki bir kişi tarafından veri değiştirilmiş olabilir.Kimlik doğrulama ve bütünlük sağlamadığı için inkar edilememezlik sağlamaz.
Asimetrik şifreler: Açık anahtar şifrelemesi olarak da bilinen bu tür algoritmalar, verileri şifrelemek ve şifrelerini çözmek için mantıksal olarak bağlantılı fakat iki farklı anahtar kullanır. Asimetrik şifreleme, anahtar oluşturmak için genellikle asal sayıları kullanır. Rivest-Shamir-Adleman (RSA) şifreleme algoritması şu anda en yaygın kullanılan açık anahtar algoritmasıdır. RSA ile bir mesajı şifrelemek için açık veya özel anahtar kullanılabilir.
Şifreleme anahtarı, algoritma tarafından verileri tutarlı biçimde değiştirmek için kullanılır. Böylece rastgele görünse bile şifre çözme anahtarı bunu kolayca düz metne geri dönüştürebilir. Yaygın şifreleme algoritmaları arasında DES, AES, SNOW, ECC eliptik eğri kriptografisi, RC4 ve RSA sayılabilir.
DES Şifreleme; verileri şifrelemek ve şifrelenen verileri açmak için kullanılan bir şifreleme standardıdır. Asıl olarak kullanılan algoritmaya; Veri Şifreleme Algoritması (DEA yani Data Encryption Algorithm) adı verilir. Yapısı itibari ile DES, blok şifreleme örneğidir. Yani basit bir şekilde şifrelenecek olan açık metni bloklara böler, yani parçalara ayırır. Her bir parçayı birbirinden bağımsız olarak şifreler. Eğer şifrelenmiş metni açmak isterse, aynı işlemi bloklar üzerinden gerçekleştirir. Blokların uzunluğu 64 bittir. AES şifreleme yöntemine göre DES, 6 kat daha yavaş çalışır.
AES Şifreleme; AES (Advanced Encryption Standard; Gelişmiş Şifreleme Standardı), 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 (Data Encryption Standard - Veri Şifreleme Standardı) 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. AES ile standartlaştırılan algoritma, esas olarak Vincent Rijmen ve Joan Daemen tarafından geliştirilen Rijndael algoritmasında bazı değişiklikler yapılarak oluşturulmuştur. AES'in hem yazılım hem de donanım performansı yüksektir. 128-bit girdi bloğu, 128, 192 ve 256 bit anahtar uzunluğuna sahiptir. AES'in temel alındığı Rijndael ise 128-256 bit arasında 32'nin katı olan girdi blok uzunluklarını ve 128 bitten uzun anahtar uzunluklarını desteklemektedir. Dolayısıyla, standartlaşma sürecinde anahtar ve girdi blok uzunluklarında kısıtlamaya gidilmiştir. AES, durum (state) denilen 4x4 sütun-öncelikli bayt matrisi üzerinde çalışır. Matristeki işlemler de özel bir sonlu cisim (finite field) üzerinde yapılmaktadır. Algoritma belirli sayıda tekrar eden girdi açık metni, çıktı şifreli metne dönüştüren özdeş dönüşüm çevrimlerinden (round) oluşmaktadır. Her çevrim, son çevrim hariç, dört adımdan oluşmaktadır. Şifreli metni çözmek için bu çevrimler ters sıra ile uygulanır. AES, 8-bit akıllı kartlardan yüksek performanslı bilgisayarlara kadar birçok değişik donanım üzerinde yüksek performansla çalışır.
SNOW Şifreleme; NESSIE projesinde ortaya çıkmıştır. SNOW-V her yinelemede 16 bit ilerletilen 32 16 bitlik sözcükten oluşan bir kaydırma kaydı kullanır. Şifrelemede bir çıktı dönüştürme adımı gerçekleştirilerek 128 bitlik çıktı üretilir. Çıktı dönüşümü, Gelişmiş Şifreleme Standardı (AES) yuvarlama işlevini kullanır. Şifrenin bilinen bir fikri mülkiyeti veya başka kısıtlaması yoktur. Şifre 32 bitlik sözcüklerde çalışır ve hem 128 hem de 256 bitlik anahtarları destekler. Şifre, LFSR ve LFSR'nin FSM'nin bir sonraki durum işlevini de beslediği sonlu durum makinesinin (FSM) bir kombinasyonundan oluşur. Şifrenin kısa bir başlatma aşaması vardır ve hem 32 bitlik işlemcilerde hem de donanımda çok iyi bir performans gösterir. Snow şifreleri oluşturmak için örnek bir url adresini kullanabilirsiniz. (https://asecuritysite.com/symmetric/snow)
RSA Şifreleme; (Rivest-Shamir-Adleman) R.Rivest, A.Shamir ve L.Adleman tarafından 1977 yılında oluşturulan RSA, şifreleme ve şifre çözme işlemlerini gerçekleştirir. Bunun yanında anahtar dağıtımını da sağlar. Bu yöntemin çok büyük tam sayılarak kullanılarak işlem yapmanın zorluğuna dayanan güvenirliği bulunur. Genel anahtarlı şifreleme tekniğidir. Asal sayılar kullanılarak anahtar oluşturma işlemi için daha güvenli bir yapı oluşturulur. Hızının yüksek olması anahtarın sayısal büyüklüğüne bağlıdır.tüm asimetrik şifrelemelerde olduğu gibi RSA da asal faktorizasyon (iki çok büyük asal sayının çarpılması) yöntemini kullanır. Bunu kırmak çok zordur çünkü kullanılan asal sayıların belirlenmesi gerekir. Bir RSA anahtarını kaba güçle (brute force) kırmak diğer şifreleme yöntemlerine göre daha zordur. Bir bilgisayar bir şifreyi veya şifre çözme anahtarını kırmak için milyonlarca hatta milyarlarca deneme yaparsa buna kaba güç saldırısı (brute force) denir. Modern bilgisayarlar bu olası permütasyonları inanılmaz bir hızla uygulayarak şifreyi tahmin etmeye ve kırmaya çalışabilir. Modern şifrelemenin bu tür saldırılara karşı dayanıklı güvenlik açısından mecburidir. Özellikle bankacılık ve finans alanlarında, iletişim sektöründe ve resmi devlet verilerinde şifrelemenin güçlü olması elzemdir.
ECC kriptografisi; Eliptik Eğri Kriptografisi, sonlu alanlar üzerindeki eliptik eğrilerin cebirsel yapılarına ve Eliptik Eğri Ayrık Logaritma Problemi'nin (ECDLP) zorluğuna dayanan , açık anahtarlı kripto sistemlerinin modern bir ailesidir . RSA kripto sisteminin doğal modern halefi olarak kabul edilir. Çünkü ECC, aynı güvenlik seviyesi için RSA'dan daha küçük anahtarlar ve imzalar kullanır ve çok hızlı anahtar üretimi , hızlı anahtar anlaşması ve hızlı imzalar sağlar. ECC kriptografisinde anahtar üretimi, belirli bir aralıkta rastgele bir tam sayıyı güvenli bir şekilde üretmek kadar basittir. Bu nedenle ECC kriptografisi son derece hızlıdır. ECC'deki özel anahtarlar genellikle tam sayılardır. 256 bit ECC özel anahtarının bir örneği şöyle olabilir:
(0x51897b64e85c3f714bba707e867914295a1377a7463a9dae8ea6a8b914246319)
Blowfish Şifreleme; 1993 yılında Bruce Schneier tarafından tasarlanan Blowfish, simetrik bir anahtar şifreleme algoritmasıdır. Feistel ağını kullanan Blowfish, 64 bitlik bloklarla şifreleme sağlamaktadır. Horst Feistel’in ismiyle anılan Feistel şifresi blok şifrelerin yapımında kullanılan simetrik bir yapıdır; aynı zamanda Feistel ağı olarak da bilinir. İlk olarak 1973 yılında Horst Feistel ve Don Coppersmith tarafından tasarlanan IBM’in Lucifer şifresinde görülmüştür. Bir feistel ağı temel olarak aşağıdaki 3 işlemi çeşitli sıralar ile çeşitli miktarlarda tekrar etmektedir:Verinin bitlerinin yerlerinin değiştirilmesi (genelde permütasyon şifrelemesi olarak bilinir) Basit doğrusal olmayan fonksiyon (Yerine koyma şifrelemesi olarak bilinir) Doğrusal karıştırma (genelde XOR)DES şifreleme algoritmasına alternatif olması için tasarlanmıştır. Blowfish, değişken uzunlukta bir anahtar (448 bite kadar) kullanan, 64 bit blok şifreleme algoritmasıdır. 32 bit ile başlayarak 448 bit anahtar uzunluğuna sahip, 64 bit öbek büyüklüğünde bir algoritma oluşturulabilir. Blowfish Şifreleme, 16 aşamalı bir Feistel ağı aracılığıyla gerçekleşir. Her bir turda gerçekleşen işlemler XOR, değiş-tokuş, ve 32-bit sözcüklerdeki toplama işlemlerinden ibarettir. Ek olarak ise her turda 4 adet dizi araması yapılır. DES’in tam olarak yapamadıklarını tamamlamak amacıyla tasarlanmıştır. En az 4 Kb RAM ile çalıştığı için akıllı kartlar gibi küçük sistemlerde kullanılamaz. E-posta ve yüksek şifreleme gibi rutin kullanıcı uygulamalarındaki etkinliği değerlendirildiğinde kısmen başarılı bir algoritmadır. Blowfish, patentsizdir ve tüm ülkelerde genel kamusal alanda bulunmakta olup, herkes tarafından özgürce kullanılabilir.
RC4 Şifrelemesi; RC4 algoritması, veri ile belirlenen anahtarı şifreleyen bir algoritmadır. Genel olarak hız gerektiren uygulamalarda tercih edilir. Şifreleme hızı “MB/sn” seviyesindedir. Rastgele bir anahtar kullanımına bağlı güvenliği vardır. Normal RC4 şifresinin 4 çeşidi vardır: Spritz, kriptografik hash fonksiyonları ve deterministik rastgele bit üreteci oluşturmak için kullanılır. RC4A, Bu, ortalama RC4 şifresinden daha hızlı ve daha güçlü olması önerilen bir varyanttır. Değişken Olarak Değiştirilmiş Permütasyon Kompozisyonu (VMPC), RC4A gibi, şifresinde gerçekten rastgele sayıların kullanılmadığı tespit edilen bir RC4 sürümüdür. RC4A+, RC4A’nın RC4 ve RC4A’dan daha uzun ve daha karmaşık, ancak karmaşıklığının bir sonucu olarak daha güçlü olan gelişmiş bir sürümüdür.RC4'ün kullanımı son derece basittir, dolayısıyla uygulamayı da basitleştirir. RC4, basitliği nedeniyle hızlıdır ve bu da onu daha iyi performans gösteren bir şifre yapar. RC4 ayrıca büyük veri akışlarıyla hızlı ve kolay bir şekilde çalışır. RC4'te bulunan güvenlik açıkları vardır. RC4 ayrıca kimlik doğrulama sağlamaz. RC4, daha küçük veri akışlarında kullanılamaz.
(Örnek RC4 Şifresi: Plaintext: BBF316E8D940AF0AD3)
MD5 şifreleme; tek yönlü şifreleme algoritmasıdır. 1991 yılında Ron Rivest tarafından geliştirilmiştir. Bu şifreleme algoritması veri bütünlüğünü test etmek için kullanılır. Veri girdisinin büyüklüğünden bağımsız, 128 bit çıktı üretir. Girdide yapılacak en ufak bir değişiklik, çıktının komple değişmesine sebep olur. Bir verinin değiştirilip değiştirilmediği ve doğru bir şekilde transfer edilip edilmediği en çok MD5 ile kontrol edilir.
(Örnek bir MD5 Şifresi: https://muallims.blogspot.com/ 2cbaba010db25f3c849c25b43a946668)
SHA Şifreleme, NSA (Amerika’nın Ulusal Güvenlik Kurumu) tarafından tasarlanmıştır. MD5 özet fonksiyonuna benzeyen bir çalışma prensibi vardır. Girdi olarak kullandığı mesajların en fazla uzunluğu 264 bittir. 160 bitlik de mesaj özeti üretir. Bu işlem sırasında, öncelikli olarak veriyi 512 bitlik bloklara ayırır. Gerekirse de son blok uzunluğunu 512 bite tamamlar. Çakışmalara karşı 80 bitlik güvenlik sağlayan, 160 bitlik mesaj özeti üretir.
(Örnek bir SHA Şifresi: 5905eace7511b5058f217971a5027e29f799f889)
Benzer MD5 ve SHA şifreleri oluşturmak için örnek url adresini kullanabilirsiniz.
(https://wmaraci.com/md5-sha1-sifre-olusturucu)
Steganography Şifreleme, düz şifrelenmemiş bir metni çeşitli dönüşümler kullanılarak başka kişilerin anlayamayacağı bir metin haline getirilmesi yöntemidir. Bir metindeki tüm harfleri başka bir metin içinde bulunan ilk harflere gizleyerek yapılır.
(Örnek Steganography şifresi: "MUALLİMS" Model uzun ancak lalenin liflerini istemsiz makineye sarıyor.)
Caesar Cipher Şifreleme; en eski yerine koyma tekniği olarak bilinir. Ünü Roma İmparatoru olanJulius Caesar tarafından geliştirilen bir yöntemdir. Bu şifrelemede mantık, her bir harf kendisinden sonra gelecek üçüncü harf ile çembersel olarak yer değiştirir. Caesar şifrelemenin zayıf yönleri de vardır. Şifrelenmiş metinde hangi dil kullanıldıysa bu rahatlıkla anlaşılabilir. Şifreleme ve deşifreleme yöntemlerinin bilinmesi ve kolay bir şekilde uygulanabiliyor olması da zayıf yönlerinden biridir. Şifrelenmiş bir metin, en zayıf ve en kesin saldırı yöntemi olan “Brute Force” ile kırılabilir.
(Örnek bir Caesar Cipher Şifresi: rddzc://wekvvswc.lvyqczyd.myw) Benzer şekilde Caesar Cipher şifreleri oluşturmak için örnek url adresini kullanabilirsiniz.
(https://www.boxentriq.com/code-breaking/caesar-cipher)
One-time Pad Şifreleme; basit olan bu yöntemde rastgele üretilen bir harf ya da rakam dizisi kullanılarak şifreleme yapılır. Üretilen dizi ile açık mesajda yer alan karakter karşı karşıya gelerek işleme alınır. Bu sayede şifreli bir mesaj elde edilir. Her şifreleme benzersizdir ve bir sonraki şifrelemeyle hiçbir ilişkisi yoktur, bu da bir örüntü tespit etmeyi imkansız hale getirir. Ancak tek seferlik bir şifreyle, şifreyi çözen taraf, mesajı şifrelemek için kullanılan aynı anahtara erişebilmelidir; bu, şifreyi çözen tarafa anahtarın güvenli bir şekilde nasıl ulaştırılacağı veya her iki anahtarın nasıl güvenli tutulacağı sorununu gündeme getirir. tek seferlik bir şifre, en azından gönderilecek en uzun mesaj kadar uzun olacak bir karakter veya sayı dizisi üretilerek oluşturulur. Bu değer dizisi, rastgele sayı üreteci olan bir bilgisayar programı kullanılarak rastgele bir şekilde üretilir. Değerler, birinin okuyabileceği bir şifreye veya herhangi bir cihaza yazılır. Şifreler, hassas bir mesaj gönderme veya alma olasılığı olan kişilere verilir. Tipik olarak, bir şifre bir anahtar koleksiyonu olarak verilebilir - örneğin, bir aydaki her gün için bir tane, her günün sonunda veya bir kez kullanıldıktan sonra bir anahtarın süresi dolar.
Bir mesaj gönderileceği zaman, gönderici her karakteri teker teker şifrelemek için gizli anahtarı kullanır.
Anahtarın gönderilen mesajla aynı boyutta olması gerekir.
Anahtarın gerçekten rastgele olması gerekir.
Anahtarlar asla tekrar kullanılmamalıdır.
Anahtarların gönderici ve alıcı taraflar arasında güvenli bir şekilde paylaşılması gerekir.
Bu katı koşullar nedeniyle, One-time Pad tek seferlik şifrelemenin kullanımı pratik değildir.
Örnek bir pad şifrelemesi oluşturalım. Şifrelemek istediğimiz bu metni rastgele sayılarla ifade edip dörtlü bloklar halinde gösterelim.Bu şifreli metnin alfabesidir. Her iki tarafta da aynı sayı değerlerinin bulunduğu aynı bir alfabe mevcut olmalıdır.Pad şifrelemesinde kullanacağımız alfabe şu şekilde farklı sayı kombinasyonlarından oluşsun.
A B C Ç D E F G H İ J K L M N O 11 12 13 14 15 16 17 22 23 24 25 03 04 05 06 07
P R S Ş T U V W Q X Y Z Ö Ğ I Ü 8 9 10 26 27 18 19 20 21 28 2 01 29 30 31 00 Şifrelemek istenilen metin : MUALLİMSM=05, U=18 A=11, L=04, İ=24, S=10 Metnin Sayısal Blok Hali: 0518 1104 0424 0510Kullanmak istenilen anahtarı oluşturalım ve bu anahtara karşılık gelen sayıları da aynı şekilde belirleyelim. Her iki tarafta da aynı sayı değerlerinin bulunduğu bir anahtar mevcut olmalıdır. ETOJVNAK Bu anahtara karşılık gelen sayılar: E=16, T=27, O=07, J=25, V=19, N=06, A=11, K=03 Anahtarımızı da blok halinde sayılarla gösterelim : 1627 0725 1906 1103Şifrelemek istediğimiz metnin başına anahtarın hangi kısmını kullanmak istiyorsak ondan sonraki dörtlü sayı grubunu getirip metin sayı grubu ile alt alta toplayalım. Örnekte 0725'ü kullanalım.Şifrelenecek metin-------> 0518 1104 0424 0510Anahtar--------------------> 0725 1906 1103 1627Şifreli sayı blok-----------> 1243 3110 1527 2137 Alfabedeki numaralar 00 dan 31'e kadar gittiğinden mod 32 kalan sınıfı dikkate alınarak 32 ile bölme işleminde elde edilen kalanlara göre sayı blok tekrar düzenlenir ve en son kalanlara göre yeni bir metin oluşturulur.Şifreli sayı blok-----------> 1211 3110 1527 2105Bu blok sayılarına karşılık gelen şifreli harfler: B=12, A=11, I=31 S=10, D=15, T=27, Q=21, M=05Anahtara göre elde edilen yeni sayılar sonucu oluşturulan şifreli metin şöyle olur: BAISDTQM elde edilen yeni şifreli metin çözülmek istenildiğinde, mevcut anahtara göre işlemler ters sırayla tekrar yapılarak başa dönülür ve esas metin bulunur.
Kaynakça:
https://www.kingston.com/tr/blog/data-security/what-is-encryption
https://www.natro.com/blog/sifreleme-encryption-nedir-sifreleme-turleri-nelerdir/
https://berqnet.com/blog/sifreleme-kriptografi
https://medium.com/@msuhademirel/kriptografi-ve-eski-%C5%9Fifreleme-y%C3%B6ntemleri-ancient-cryptography-techniques-e64311de1629
https://www.iienstitu.com/blog/kriptografi-nedir-teknikleri-nelerdir
https://tr.m.wikipedia.org/wiki/%C5%9Eifreleme
Matematik Konularından Seçmeler
matematik
(216)
geometri
(124)
ÖSYM Sınavları
(49)
üçgen
(49)
trigonometri
(38)
çember
(30)
fonksiyon
(28)
sayılar
(27)
alan formülleri
(25)
türev
(23)
analitik geometri
(19)
denklem
(18)
dörtgenler
(17)
limit
(16)
belirli integral
(13)
katı cisimler
(11)
koordinat sistemi
(11)
fraktal geometri
(7)
materyal geliştirme
(7)
asal sayılar
(4)
elips
(3)
tümevarım
(3)
binom açılımı
(2)
hiperbol
(2)
En Çok Okunan Yazılar
-
Bu yazıda Esma-ül Hüsna hakkında kısaca bilgi verildikten sonra Ebced hesabı ile arasındaki ilişkiyi açıklayıp bütün 99 ismin ebced değerle...
-
Çocukluğumuzda mutlaka uçurtma yapmayı denemiş veya satın alınan bir uçurtmayı uçurmak için yoğun çaba sarf etmişizdir. Hazır olarak alınanl...
-
Öklid Teoremi: Bir dik üçgende hipotenüse ait yüksekliğin karesi, hipotenüs üzerinde ayırdığı parçaların çarpımına eşittir. Bir dik üçgende...
-
ÖSYM'nin 15/06/2019 Tarihinde gerçekleştirdiği TYT matematik sınavı, farklı tarzda ayırt edici sorular içermekle birlikte, 2018 yılı TY...
-
Çemberde kuvvet alınırken çemberin dışında ve içinde olan noktaya göre kuvvet alma işlemi, noktanın çemberin üzerindeki noktalara uzaklığın...
-
Köşe koordinatları bilinen üçgenin alanını bulmak için, vektör bileşenlerin determinant kuralından yararlanılır. Determinantta SARRUS Kuralı...
-
Miletli Thalēs; y. MÖ 624/623 – MÖ 548/545), Milet, İyonya'dan bir Antik şehir bugün Aydın sınırları içersinde kalmaktadır. Thales, mate...
Lütfen ilgili yazıların altında, yorumlarınızı bizimle paylaşınız. Kırık bağlantıları ve hatalı içerikleri mutlaka bildiriniz. Bizlere güzel dualar ederek destek olunuz...
KADİR PANCAR...