Merhaba Sevgili okurlar;

Bildiğiniz gibi TrueCrypt öldü 🙁 hepimiz üzüldük. Kimliği belirsiz kişiler tarafından geliştirilmekte olan proje TrueCrypt kendi internet sitesinde biz güvenli değiliz. Başka çözümlar bulun kullanın vs gibi bir uyarı yaparak haya gözlerini yumdu.

Açık kaynak kodlu bir proje oldugu için hemen Fan sayfalarında yeni gruplar biz geliştirmeye devam edeceğiz. Açılın ben doktorum vs gibi yaklasımla küllerinden doğdurmaya çalışsalarda gidenin ardından el sallamak bence mantıklı olan.

Peki neden güvenli değiliz dediler ?

Bu konuda bazı farklı söylentiler internette dolaşmakta. Kimisi derki NSI Backdoor istedi onlarda kapattılar. M.I.T. Sistemlerini kırdı. Ana Anahtarların olduğu flash disk’i çaldırmışlar falan filan. Altarnatif baktigimizda BitLocker Altarnatif mi bence değil. TPM modüllü anakartlar vs de kullanım amacı farklı şifreleme sistemleri bunlar.

Listeme VeraCrypt vs gibi TrueCrypt’ın adını değiştirip tekrar piyasaya sürenleri koymak istemedim.

1 – Symantec’ın Drive Encryption uygulamasını denedim. Başarılı bir uygulama RSA ve çift taraflı doğrulamada desteklemekte fakat ücretli bir uygulama. Mac sürümü var demişler ben PC sürümü denedim. Boş zamanım olursa bunun üzerinde durarak bir yazı hazırlamak istiyorum. fiyati uygun gibi yillik 24 abd doları dosya gizliliğini korumak adına verilemeyecek bir fiyat değil.

2 – AES Crypt beleş bir uygulama fakat sadece AES desteklemesi ve dosya ve klasör tabanlı sifreleme yapması bir truecryp altarnatifi olmasının önüne geciyor. Yinede başarılı oldugunu düşünüyorum. AXcrypt’in altarnatifi bana göre bu yazılım. AX’dan artı yönü ise Hem MacOS, Hem Windows, Hem de Android versionları mevcut.

3 – DiskCryptor ise ilk yüklediğimde çok hoşuma gitti ama sonradan TrueCrypt ile uyumlu olduğunu ögrenince trueCryptin arayüzü değiştirilmiş ve üzerinde biraz oynanmış halı (Hatta version 5’in düzenlenmiş hali) olduğunu öğrendim. Üstelik sadece windows platformu için paylaşımı mevcut.

4 – GnuPG OpenPGP’nin sertifikalarını kullanan işte budur dedirten bir uygulama. Bunu yapan arkadaşlarımız açık kaynak kod ile hem windows hem linux hemde macos için derlemişler toplamışlar. (Ofiste daha ayrıntılı test yapacağım bu arkaş hakkında)

5 – Apple Disk Şifreleme bir önceki yazımda bahsetmiştim windows da dgm açan uygulamalar ile içeriğini göre bilir ve değiştire bilirsiniz.

Apple disk sifreleme hakkında elimden geldiğince hızlı sizelere bilgi vermek istedim.

Bir usb belleğin veya sabit diskin birimini (Partiton’u) sifrelemek isterseniz işiniz kolay. Sadece üzerine sağ tuş ile tıklayıp Şifrele demeniz yeterli.


Şifreyi açılan alana girip onaylamanız yeterlidir. Önemli olan şifremi hatırlayı seçmemeniz.

Peki Yanınızda taşıyacağiniz bir klasörü şifreliyip bunu havada (fly by) şifreleme ile hem hizli hemde güvenli olarak saklamak isterseniz ne yapacaksınız ? (Bu cümle pek iyi olmadi ama şifreli alanı dosya olarak taşıya bileceğiniz formatta isterseniz demem daha mantıklı olur.)

Aşağidaki adımlar ile bunuda gerçekleştirelim.

İlk önce Disk Utility Acılır.

Menuden yeni image oluşturulunur.

Image Bilgisi ekrandan doldurulunur. Boyut Sabit olacağından dikkat edilmelidir. Şifreleme çeşidi de listeden seçilmeli.

Şifreyi girin. Burada Şifreyi kaydet seçili ise bir daha şifreyi sormayacağından kişisel olmayan (Şifreyi sormasını istediğiniz) bilgisayarlarda bunu seçmeyiniz

DGM uzantılı image dosyasını yarattınız. Bu dosyaya çift tıklayarak açın

Şifrenizi girin ve onayların (Kişisel olmayan bilgisayarlarda parolanızı kaydetmeyiniz)

İmaj dosyanizin oldugu gibi Masa üstünde eklenmiş disk dosyaniz mevcut.

Bunun içine istediğiniz gibi dosya aktarımı yapabilirsiniz.

Ve sadece üzerine tıklayıp çıkart diyerek bağlantısını kesebilirsiniz

Merhaba arkadaşlar.
Az önce bir bilişim sitesinde gördüğüm haberi paylaşmak istiyorum :

Microsoft geçtiğimiz aylarda Skype ‘a konuşmaları otomatik çeviren bir tercüman özelliğinin getireceğini duyurmuştu. Özellik bahsedildiği zaman çok konuşulmuş ancak birçok kişi tarafından bu özelliğin en az 2-3 sene içinde tamamlanabileceği iddia edilmişti. Ancak Skype ve Microsoft bu iddiaları yerle bir eden bir deneme ile karşımıza çıktı.

Geliştirme aşamaları hala devam eden, henüz tamamlanmış bir proje olmayan Skype Tercüman özelliği ufak bir deneme aşamasından geçti. Skype görüşmelerine 3. Bir kişinin katılmasına gerek kalmadan karşınızdaki kişiyle konuşmalarınızı tercüme edecek bu özelliğin deneme sürümü bile bizleri heyecanlandırmaya yetti. Teknik olarak konuşmalarınızın hangi dilde olduğunu algılayan tercüme ederek karşı tarafa hem yazılı hem sesli yollayan bir hizmet olan bu özelliğin ön izlemesinde en çok dikkat eden şey ise oldukça hızlı çalışıyor olması oldu.

Tanıtımının dışında oldukça neşeli ve göndermeli karşılıklı konuşmalara da şahit olabileceğiniz bu özelliğin deneme aşamasının videosunu aşağıda görebilirsiniz.

https://www.youtube.com/watch?v=cJIILew6l28#t=33

Evet bu haber direk aklıma su yazıyı getırdi : Microsoft’un Gerçek zamanlı ceviricisi 2012’nin ilk çeyregi icersinde bu işe girişmiş olan microsoft skype’i satin almasi ile ilerlemis ve güçlenmiş..

Merhabalar basta google bot olmak ozere butun botlar ve onlari takip eden clientlar.

suanda bir projede ihtiyacim oldugu icin google’a danistigim bir seyi burayada not dusmek istedim.

//Guid Tanimla            
Guid aNewGuid = Guid.NewGuid();

// string'e ata (mailingde kullandigim formatim)            
string stringAsLikeGuid = aNewGuid.ToString();

// ByteArray olarak kullan (Bunu soket serverde cok kullaniyorum)            
byte[] likeByteArray = aNewGuid.ToByteArray();

// havada yaratip atama yapalim
string alsoUseFly = Guid.NewGuid().ToString();

// Havadakinin byte arrayi (bunuda zamaninda ornek olsun diye kodlamisim ama hic kullanmadim galba)
byte[] FlyByteArray = Guid.NewGuid().ToByteArray();

Google den lazim olan formatlama kismina bakmistim buraya not duseyim:

Console.WriteLine("Guid.NewGuid().ToString() = {0}", Guid.NewGuid().ToString());
Console.WriteLine("Guid.NewGuid().ToString(\"N\") = {0}", Guid.NewGuid().ToString("N"));
Console.WriteLine("Guid.NewGuid().ToString(\"D\") = {0}", Guid.NewGuid().ToString("D"));
Console.WriteLine("Guid.NewGuid().ToString(\"B\") = {0}", Guid.NewGuid().ToString("B"));
Console.WriteLine("Guid.NewGuid().ToString(\"P\") = {0}", Guid.NewGuid().ToString("P"));

ciktisi :

Guid.NewGuid().ToString() = 9b89ea45-0362-4bd7-b350-d8dbd768c581
Guid.NewGuid().ToString("N") = 1fa00e6adece4a19b121264508d91178
Guid.NewGuid().ToString("D") = eb941092-506e-4b8a-9945-7863bda96cc6
Guid.NewGuid().ToString("B") = {759ca2cb-9eed-4245-a378-3d16c9780876}
Guid.NewGuid().ToString("P") = (1afd9c5f-6a3a-462a-aa79-43c506b11639)

Daha fazlasi icin microsoft amcaya danisirim : http://msdn.microsoft.com/en-us/library/97af8hh4(v=vs.110).aspx

hayirdi iyi gecenin korleri bilokum.

Merhaba sevgili okurlarım, Google ve diğer botlar.

Bugün CRC’den size bahsedeceğim.  CRC – Cyclic Redundancy Check dediğimiz arkadaş bir veri kontrol formatıdır. Bugunlerde Check Digitlerden bahsettim bol bol birde CRC yani türkçe adı ile Döngüsel Artıklık Denetimi . “Hata sezen” kod olarakta bilinir.

Mantıksal anlatımını çok iyi yapmayacağımdan bunun ile ilgili beğendiğim bir yaziyi Copy/Paste yaparacagim.

Öncelikle belirteyim bu CRC haberleşmede kullanılan ve “hata sezen” kod adı verilen bir yöntemdir. Zaten iki tip yöntem var: Hata sezen ve hata düzelten. Hata sezen, adından da anlaşılabileceği gibi, sadece verinin düzgün iletilip iletilmediğini anlamaya yarar. Hata düzelten ise hatayı bulur ve düzeltir. Peki hangi durumlarda bu ikisinden biri seçilir:

Diyelim ki uydu ile haberleşiyoruz. Burada uyduya aktarılan veriler (Uplink) ve uydudan gelen veriler (Downlink) oldukça yavaş aslında. Sonuçta uydunun avantajı çok geniş bir alanı kaplamasıdır. (Tüm dünya misal?) Burada hata sezen kod kullanırsak olası bir hata durumunda uydu bu durumu, veriyi aldığı merkeze belirtir ve aynı veri tekrar aktarılır. Zaten sistem yavaş, üstüne de böyle bir durum olursa daha bir yavaşlar diye bu noktada hata düzelten kod kullanılır. Hatayı düzeltebilmesi için verinin boyutu arttırılmalıdır. Hata düzelten yöntemini daha sonra farklı bir yazıda açıklayacağım. Hata sezen kodlara geri dönelim…

Yukarıdaki açıklamadan sonra herhalde nerede kullanılabileceği tahmin edilebilir: Aktarım hızımız çok yüksekse ve hatalı bir veri gelince bunun tekrar alınması sisteme koymayacaksa kullanılması gayet güzeldir hata sezen kodların. İşte bizim CRC de bunu yapmakta.

CRC’deki temel mantık, gönderilecek verinin sonuna verinin daha önceden belirlenen bir sayıya bölümünden kalan eklenir. Karşı taraf bu veri kümesini alınca daha önceden belirlenmiş sayıya böler. Sonuç sıfır ise veri hatasız aktarılmıştır. Olayı rakamlara dökmek daha iyi açıklayacaktır:

Misal göndermek istediğimiz veri 10011010 olsun. (Tamamen attım) Bu bölücü sayımız da (bu noktadan itibaren buna polinom diyeceğim sınavda filan sorulursa işin ezberi bu şekilde çünkü) belirlenebilir bir şey. Misal bu polinom da 11001 olsun diyorsam tamamen atıyorum ama hem alıcı hem verici bunu biliyor farz ediyorumdur. Sınavda da zaten “Falanca veriyi şu polinomla, CRC kodlaması ile nasıl göndeririz?” gibi bir soru çıkacaktır. Bu noktada sadece bu iki sayıyı birbirine bölüp verinin sonuna dört bit olarak eklememiz kafi ancak yine işin biraz ezberine girelim:

Veri 10011010 denmişse bunu bir polinom gibi yazmamız gerekiyor önce: Bunun için ikilik tabandaki bir sayıyı onluk tabana çevirirken kullandığımız “iki üzeri” terimleri yerine “x üzeri” diyoruz. Yani normalde bu sayı 2^7+2^4+2^3+2^1 iken biz buna x^7+x^4+x^3+x^1 diyoruz. Aynı şekilde bölücü polinom da (11001 demiştik üstte) x^4+x^3+1 oluyor. (Son hane x^0=1 durumunda) Bu noktadan sonra kısaca verinin sonuna dört bit sıfır ekliyoruz demek yerine iletilecek polinomu x^4 ile genişletiyoruz diyoruz. Yani 10011010, 100110100000 oluyor ve yine bunu polinom olarak yazarsak x^11+x^8+x^7+x^5 oluyor. Daha sonra son halindeki veri polinomu ile elimizdeki polinom üzerinde bölme işlemi uygulayıp son bitleri kalan ile değiştiriyoruz ve iş bitiyor. Bu noktadan sonra bir konuya netlik getireyim: Sakın bu işlemi onluk taban üzerinden yapmayın!

10011010 onluk tabanda 154’e karşılık gelmektedir. Elimizdeki bölücü polinom da (11001) 25’e denk geliyor. İkisini birbirine bölersek kalan dört çıkar. Bölüm bizi zerre ilgilendirmiyor ama kalan önemli. Onluk tabanda dört, ikilikte 0100’a denk gelmekte. Yani gönderilecek veri 100110100100 olacak… Değil aslında. Haydi diyelim sonun dört sıfır atmıştık yeni veri 100110100000 aslında diyelim ve o da onluk tabanda 2464’e denk gelmekte. Buna da 25’i bölersek kalan 13(1101) çıkıyor. Ancak donanımsal olarak bu bölme işlemi biraz farklı olduğundan az sonra göreceksiniz ki sonuç farklı çıkmakta…

100110100000| 11001
11001 | Bölüm de artık neyse… Siyah yazdıklarım bölme gereği bir aşağı inen bitler
010100
11001
011011
11001
00010000
11001
010010
11001
010110
11001
01111 —> Bakıyoruz ki kalan ne 0100 ne de 1101 çıktı.

Bilenler fark etmiştir sürekli iki değeri XOR’ladık. (Özel veya) XOR’un mantığı, aynı olan bitler 0, farklı olan bitler 1 çıkışı verir. Polinom aritmetiğinde bölme bölme diye sürekli söylediğim yerde bu XOR kullanılır ki bu fark da buradan geliyor. Hadi diyelim ben bu işlemi yanlış yaptım. Hemen Prentice Hall: Computer Networks, Fourth Edition kitabındaki örneği yazının sonuna yapıştırıyorum. Buradaki örneği ondalık olarak ele alalım:

Burada gönderilecek veri 1101011011 olarak belirtilmiş ve kendisi 859 yapıyor ondalık olarak. Bunun bi de sonunda dört sıfır olan 11010110110000 halini ele alırsak o da 13744 ‘e denk gelmekte. Bölüyoruz polinoma ki kendisi de 10011, ondalık 19, ilk hali ile kalan dört, uzatılmış halinde kalan yedi. Eee resme bi bakıyoruz (adamlar bölmüş güzel güzel göstere göstere) ve sonuç 1110 çıkmış, ondalık da 14 ediyor kendisi.

Bu ondalık işine nerden bulaştın derseniz; internette Türkçe kaynaklar genelde bu ondalık sistem üzerinden anlatıyor. Ben de garibim baktım çok da mantıklı geldi (kolay da), sınavda tuttum böle yaptım. Hocaya göstermelik de bu bölme işlemini yaptım ama bi baktım sonuç farklı! Dedim heralde yanlış işlem yaptım ondalık rakamlar yalan söylemez(!) sonucu değiştirverdim. Sonuç: Sınavdan -10 puan…

Neyse işte bu şekilde CRC kodlama ile gönderdik kodu, karşı tarafta alıp bölme işlemini yapıyor. Bu sondaki kalan eklenmiş halinde polinom bölmesi yapınca sonuç sıfır oluyor! Oldu ise tamam, durum güzel. Bu bölücü polinom iki tarafca da biliniyor kabul ediyoruz, tekrar belirteyim. Zaten en basitinden şifreli bir dosya açarken “CRC failed” diye bir hata alırsınız eğer şifre yanlışsa. Bu şifre de bizim polinomumuz olmuş oluyor.

Umarım yeterli açıklama yapabilmişimdirim. İnternet iyi güzel hoş, bilgi var da doğru bilgiyi ayırt edebilmek lazım(mış). Ben CRC için yapamadım bu ayrımı, sınavdan sonra dank etti ama olan oldu bi kere…

CRC.jpg