fabiochiu/medium-articles huggingface dataset:
How to choose the right NodeJS partner?
By: Cubet Techno Labs
Tags: Node Js Development, Node Js Web Development, Nodejs, Nodejsdevelopmentcompany, Backend Development

You can find millions of organizations around the world, providing all kinds of software solutions; these organizations also claim themselves as a one-stop solution provider for whatever development requirement you have. With all the aggressive marketing activities taking place online, it is really hard to choose the right NodeJS Development company. NodeJS being one of the modern-day web back-end development technology, it is eminent that you end up choosing an expert company which has a strong NodeJS portfolio and expert developers who have thorough knowledge in back-end management, database management, and API integration.

When it comes to choosing the best NodeJS organization, the one who can actually present you with real-life solutions — It becomes one of the most critical jobs.

Here are the first and foremost things you have to take into consideration when hunting for a right NodeJS partner :

1) Choose the organization who just don’t claim to be the best, but who has a proven history and have already built faster, scalable, and real-time network applications, using NodeJS.

2) Review the client list for NodeJS projects and if necessary, don’t hesitate to reach out to them for feedback.

3) Make sure the developers have in-depth knowledge and extensive experience and are also updated with the latest additions to the technology.

3) Developers should also have skillful expertise in ExpressJS, SailsJS, MeteorJS, and other NodeJS Frameworks.

4) Should have skillful expertise in cloud infrastructure.

5) Cost-effective services: The estimation process has to be transparent and ensure that there is a balance between the estimation and the requirements.

6) High coding standards: Try to get an understanding of the coding practices that is followed by the NodeJS development company.

7) The company must have a clear understanding of the project management tools, processes and should also ensure that the respective NodeJS developers are familiar with the same for flawless development.

To sum up, it is not recommended to choose a NodeJS development company by only considering how good the website looks or how good the pre-project services are. Go for in-depth research to ensure that all the points mentioned above are checked. There are thousands of great NodeJS specialist companies and it isn’t hard to find the right one.

Good Luck!
How to choose the right NodeJS partner?
By: Cubet Techno Labs
Tags: Node Js Web Development, Nodejs, Nodejsdevelopmentcompany, Backend Development, App Development

You can find millions of organizations around the world, providing all kinds of software solutions; these organizations also claim themselves as a one-stop solution provider for whatever development requirement you have. With all the aggressive marketing activities taking place online, it is really hard to choose the right NodeJS Development company. NodeJS being one of the modern-day web back-end development technology, it is eminent that you end up choosing an expert company which has a strong NodeJS portfolio and expert developers who have thorough knowledge in back-end management, database management, and API integration.

When it comes to choosing the best NodeJS organization, the one who can actually present you with real-life solutions — It becomes one of the most critical jobs.

Here are the first and foremost things you have to take into consideration when hunting for a right NodeJS partner :

1) Choose the organization who just don’t claim to be the best, but who has a proven history and have already built faster, scalable, and real-time network applications, using NodeJS.

2) Review the client list for NodeJS projects and if necessary, don’t hesitate to reach out to them for feedback.

3) Make sure the developers have in-depth knowledge and extensive experience and are also updated with the latest additions to the technology.

3) Developers should also have skillful expertise in ExpressJS, SailsJS, MeteorJS, and other NodeJS Frameworks.

4) Should have skillful expertise in cloud infrastructure.

5) Cost-effective services: The estimation process has to be transparent and ensure that there is a balance between the estimation and the requirements.

6) High coding standards: Try to get an understanding of the coding practices that are followed by the NodeJS development company.

7) The company must have a clear understanding of the project management tools, processes and should also ensure that the respective NodeJS developers are familiar with the same for flawless development.

To sum up, it is not recommended to choose a NodeJS development company by only considering how good the website looks or how good the pre-project services are. Go for in-depth research to ensure that all the points mentioned above are checked. There are thousands of great NodeJS specialist companies and it isn’t hard to find the right one.

Good Luck!
ASP.NET Core Fluent Validation
By: Ivan Mihaljek
Tags: Fluentvalidator, Aspnetcore, C Sharp Programming, Backend Development, Software

Validation is a process to validate and check the data inserted by the user. Every MVC application needs some kind of validation, either for the DTO model or Entity. So why not use Fluent Validation?

Fluent Validation is a .NET library that uses lambda expressions for building validation rulers. Using Fluent Validation you can create some advance and complex validation for the user data. Let’s get it started.

First, from the command line or NuGet package manager install FluentValidation.AspNetCore.

For ASP.NET to discover your validators, they must be registered with the services collection. The best way to do that is by using the RegisterValidationsFromAssemblyContaining method to automatically register all validators within a particular assembly. This will automatically find any public, non-abstract types that inherit from AbstractValidator and register them with the container

services.AddControllers().AddFluentValidation(fv =>fv.RegisterValidatorsFromAssemblyContaining<Startup>());

Validate incoming request

This next example assumes that the UserValidator is defined to validate a class called User.

public class User

{

public string Name { get; set; }

public string Email { get; set; }

public int Age { get; set; }

}



public class UserValidator : AbstractValidator<User>

{

public UserValidator()

{

RuleFor(x => x.Name).Length(0, 10);

RuleFor(x => x.Email).EmailAddress();

}

}

When you send a post request, MVC’s model-binding infrastructure will validate the User object with UserValidator. If a request is not valid, you get response messages with corresponding errors which are shown below.
Optimising Laravel Mails
By: Dikshant Rajput
Tags: PHP, Mail, Laravel, Queue, Backend Development

In my previous blog, I have discussed about basic functionality of sending mails to someone through your application. In this blog, I will be telling about some optimisation technique which can reduce the waiting time for the users.

As you have seen that while sending mail from controller, It takes a lot of time to process. So Laravel have provided us with a option to queue the sending of mails i.e sending the mails through background just like a cron job if you have heard about it.

It’s very easy to make any mail queueable. Let’s get started…

First of all you need to create migrations for jobs and failed jobs . It can be done by running :

php artisan queue:table

Now one simple way to make mails to run in queue is by just using queue method instead of send like this :

Mail::to($user->email)

->from('email-address')

->queue(new WelcomeMail($user))

One more thing which I forgot to mention in my previous blog is that you can also easily add cc and bcc to your mails by just adding cc and bcc methods like this :

Mail::to($user->email)

->from('email-address')

->cc('email-address')

->bcc('email-address')

->queue(new WelcomeMail($user))

After queuing the mail, If you will check jobs table in your db, you can find a job ready to be run. So for running the job just run :

php artisan queue:work

This will make the job to run in background and the mail will be sent if everything goes well. If in any case the job fails, you can check the reason of failure by going to failed-jobs table.

Laravel also provides a beautiful method to delay your mails for a certain amount of time. You just need to use the later method in place of queue method and later method accepts two parameter. One is the DateTime instance indicating when to send mail like next week, next hour or so and the second parameter is the mailable instance.

->later(now()->nextWeeks(1), new WelcomeMail($user));

So this will automatically send the mail after one week if the queue worker is running on your server.

Another way

One more way for making mails queueable is by using the ShouldQueue interface that is provided by Laravel queues.

Just implement ShouldQueue interface to the mailable class like this :

use Illuminate\Contracts\Queue\ShouldQueue; class WelcomeMail extends Mailable implements ShouldQueue{ // }

By using this you need not to use queue() method with Mail facade, send() method will also work.

So these were few simple tricks to optimise performance of your application for sending mails. Hope you like it and if you want in-depth explanation of queues and mailables, just hit the clap icon and I will be uploading more such simple content to make your life simple…..

Follow me for more such blogs…
Dealing With Webhooks Sucks But There’s Something You Can Do About It
By: Alexandre Bouchard
Tags: Shopify, Serverless, Backend Development, Webhooks, API

I’ve been working in e-commerce for the last three years dealing with millions of fairly mission-critical webhook events. My key takeaway is that it sucks to deal with multiple APIs incoming webhooks such as Shopify, Stripe & Intercom, and I hate not having an alternative.

What’s the problem?

Mistakes are human, and so are bugs. Every once in a while, you will introduce errors in your webhook handling methods. Even with the best integration tests, you are probably not prepared for unexpected payload changes (perhaps a stealth API version upgrade) or a platform downtime. You probably have server logs or even better, something like Sentry to catch unexpected exceptions in your code. If these are mission-critical webhooks, are you confident you can find and take action on every single webhook you missed? Maybe, but most likely, you’ll spend the day on it.

“Queue first, take action later”, they said

I know what you’ll tell me. You aren’t supposed to take action directly on a webhook! That’s right, the “proper way” of dealing with webhooks is to postpone any meaningful processing through the use of queues and to handle errors & retries on your own. Clubhouse.io engineering team wrote a great article on this topic. They are right; you should use queues.

However, to handle a single webhook safely, you would need (as per Clubhouse) 4 new services (SQS, S3, a Publisher(s) and a Consumer(s)). It depends on your current architecture, but in short, that’s a lot of new tools, a lot of new code, and especially a lot of time. Time that I could better spend building products for our customers.

If it feels a lot like reinventing the wheel, well, it’s because it is. Solving this particular problem isn’t specific to your business or your application.

Instead, we rely on webhook providers

Let’s be honest, why does almost every platform out there offer an ‘automatic retry’ feature for their webhooks? Because developers generally DO NOT postpone taking action on their webhooks and really, nobody can blame them. The time required to set up queues and related retry logic makes it so that developers, such as myself, are instead relying on the platform to do the work for them.

Each platform has its own rules and logic. Shopify will retry 19 times over 48 hours and completely delete your webhook subscription once all attempts are exhausted as opposed to Stripe that will attempt to deliver your webhooks for up to three days with exponential backoff. This becomes increasingly complex to deal with if you are using 3, 5, or 10 API’s webhooks, that each have their own rules on when they will retry, when they will alert you and when they will disable your webhooks.

Credit where credit is due, Stripe does a lot of things right. They provide a useful UI (but no API) to view your events and retry them. That’s the kind of visibility we need, as developers. I’ve saved many hours of troubleshooting because of that feature alone.
A short Cryptographic story. Beginning with https since this is a…
By: Janarthan Paramanandam
Tags: Symmetric Encryption, Encryption, Security, Cryptography, Asymmetric Encryption

Story begins with https since this is something we are more familiar with. Https enables us to exchange confidential information over the internet. In Https the messages are encrypted before exchanged and decrypted before consumed. No middle man can understand the message. In order to do that Https protocol make use of Cryptosystems and Cryptosystem is basically the implementation of Cryptography.

Secure message transfer → Https → Cryptosystem → Cryptography

Cryptography is the process of Encryption and Decryption.

Encryption is converting the data to a form which CAN-NOT be understood. Decryption is converting back to it’s initial form which CAN be understood.

Data — — — → [[Encryption]] -→ Gibberish | CipherText | EncryptedData

Gibberish — -→ [Decryption]—→ Data

There are 2 primary ways of doing this.

1. Symmetric Encryption

2. Asymmetric Encryption.

Symmetric Encryption is the primary way of exchanging data over the internet, we’ll see why 😎

[[Key+Data]] → CipherText →transmission→ [CipherText+Key] → Data

In Symmetric Encryption we use the same key for both encryption and decryption and we need the key to be exchanged with the other party. So the data which is encrypted using the key can be decrypted at the other end using the same key. But how do we securely exchange this key? Here comes the Asymmetric.

[[Key1+Data]] → CipherText →transmission→ [CipherText+Key2] → Data

Asymmetric Encryption involves 2 keys.

1. Public key

2. Private key

Public key is used for encryption and the private key is used for decryption. In order to decrypt the data using a key which is not used for encryption, Asymmetric approach heavily uses advanced mathematical algorithms which makes Asymmetric approach slower than the Symmetric approach.

This is why we use Asymmetric Encryption only to exchange the SessionKey to the other end. Once the SessionKey is exchanged we switch to the faster Symmetric encryption. SessionKey!!!🤔 Mostly the key used in Symmetric Encryption is limited to one session. So we call this key as SessionKey.

One should always assume the intruder knows both encryption and decryption algorithms. The resistance of the cipher attack must be based only on the secrecy of the key. — Kerckhoffs

Thank you 🙏
Why I left Facebook. Because we all deserve a safe, private and freer way to connect.
By: Phil Ngo
Tags: Encryption, Security, Cryptography, Privacy, Infosec

How to reach me online from this point forward:

I’m not closing my Facebook, Whatsapp or Instagram account only because of the network effect it still possesses and is still useful as a means of finding me online. However, most of my thoughts & posts will now live here on Medium: https://medium.com/@phil_knows. I prefer not to use my Whatsapp but unfortunately the large network effect includes close friends/family so I will still have to use it for non-secure messages. If anybody can find a good alternative to Instagram though, I’d love to hear from you. Til then, I’m still available there.

Cryptographically secured & verified methods are the best way of reaching me. This is why I highly recommend something like Keybase for chat + emails. When an app such as Whatsapp says they have end-to-end encryption on your chats, you can take that with a grain of salt. End-to-end encryption is a marketing term used by these big tech companies. The only way to authentically ensure your data is secured online is for you to generate your own cryptographic keys and manage/hold them yourself.

Keybase acts as a key directory that maps your social media presence through proven identities. When I mean proven, I mean it’s publicly verifiable proofs through the use of cryptography. Basically, it’s very hard for someone to spoof your identity or for anyone to intercept & decrypt your data without your half of the key that you keep private. Even supercomputers will have a hard time trying to break it… if it’s even worth the electricity bill.

In fact, through Keybase, you can send me encrypted e-mails that can only be decrypted from the key I possess. It’s this simple to ensure Gmail is not snooping through our conversation. You can e-mail me by using this to type your message, then copy, paste and send the encrypted code to me via your favourite e-mail provider.

Although information security is never 100% fail-safe, you just have to be slightly safer than the next person to deter hackers. The goal is to make it not worth their time by putting up extra (no matter how big/small) barriers of protection. Your privacy and security is more important than ever on an increasingly untrustworthy world wide web. I’m always available to teach and demonstrate how to keep yourself & your data safe online. First thing’s first though: You have to start by taking action.

Bye bye Facebook.
PlatON Chief Cryptography Scientist Prof.He was Selected as One Highly Cited Researcher 2019
By: Platon Network
Tags: Data Security, Computer Science, Cryptography, Data Privacy, Blockchain

On Nov.19, 2019, The Web of Science Group, a Clarivate Analytics company released its annual list of Highly Cited Researchers. PlatON Chief Cryptography Scientist Prof. Debiao He is one of the Highly Cited Researchers 2019 in Computer Scientist.

Highly Cited Researchers — The Most Influential Scientific Minds

The highly anticipated list identifies scientists and social scientist who produced multiple papers ranking in top 1% by citations for their field and year of publication, demonstrating significant influence among their peers. The methodology that determines the “who’s of who” of influential researchers draws on the data and analysis performed by bibliometric experts from the Institute for Scientific Information at the Web of Science Group.

There are totally 6216 Highly Cited Researchers in various fields from nearly 60 nations. The United States is home to the highest number of Highly Cited Researchers, Mainland China has seen a huge surge, and now home to 2nd largest concentration, with 636 authors. Among the 107 selected scientist in Computer Science, China dominates the list, with 43 researchers. Besides, Hong Kong and Taiwan have 2 researchers, and 1 researcher, respectively.

About Prof. Debiao He

Prof. Debiao He, Chief Cryptography Scientist of PlatON, Professor in School of Cyber Science and Engineering, and Ph.D in School of Mathematics and Statistics at Wuhan University, serves on the Chinese Association for Cryptohtaphic Research (CAGR) Organizing Committee, CAGR Committee for Young Elite Professional, and CAGR Security Protocol Expert Committee, and serves as a standing committee member of CCF Blockchain Professional Committee.

Prof.He is an expert in secure application of cryptography in commercial environment such as mobile Internet and cloud computing. He played an important role in the establishment of the standard of SM2 cryptography algorithm, and owns 8 patents about the secure implement and application of commercial cryptographic algorithm.
AWS Multi-region KMS Key
Tags: Encryption, AWS, DevOps, Cryptography, Cloud

Multi-Region keys are a new feature from AWS KMS for client-side applications that makes KMS-encrypted cipher-text portable across Regions. With symmetric multi-Region keys, you can encrypt data in one Region and decrypt it in a different Region.

Use cases

Disaster recovery : In a backup and recovery architecture, multi-Region keys let you process encrypted data without interruption even in the event of an AWS Region outage. Data maintained in backup Regions can be decrypted in the backup Region, and data newly encrypted in the backup Region can be decrypted in the primary Region when that Region is restored.

: In a backup and recovery architecture, multi-Region keys let you process encrypted data without interruption even in the event of an AWS Region outage. Data maintained in backup Regions can be decrypted in the backup Region, and data newly encrypted in the backup Region can be decrypted in the primary Region when that Region is restored. Global data management: Businesses that operate globally need globally distributed data that is available consistently across AWS Regions.

How it is working?

To use multi-Region keys, you create a primary multi-Region key in the main region. Then, you use the primary key to create a related multi-Region replica key in a different Region. Replica keys are KMS keys that can be used independently; they aren’t a pointer to the primary key. The primary and replica keys share only certain properties.

Shared properties:

Key ID

Key material

Key material origin

Key spec and encryption algorithms

Key usage

Automatic key rotation

Independent properties

Description

Key policy

Grants

Enabled and disabled key states,

Aliases

Tags.

Shared properties can only be changed in the primary key and AWS KMS will automatically synchronise with all the replica keys. But if you change the value of an independent property, AWS KMS does not synchronise it.

Security considerations for multi-Region keys

Use an AWS KMS multi-Region key only when you need one. Consider a multi-Region key if you must share, move, or back up protected data across Regions.

You need to ensure that policy is audited consistently on key across multiple, isolated regions.

In Single region KMS key data encrypted in one Region can remain completely protected and inaccessible in any other Region. To verify data residency and data sovereignty with multi-Region keys, you need to implement access policies and compile AWS CloudTrail events across multiple Regions.

Limitations
Data Security in Blockchain: Cryptographing data using your Wallet
By: Jeff Prestes
Tags: Ethereum, Bitcoin, Golang, Security, Cryptography

Ethereum and Bitcoin (including their forks) wallets are generated from private keys using the elliptic curve algorithm, and consequently the public keys are also generated.

However, due to the lack of libraries or simple tools, few people use the asymmetric encryption mechanism to encrypt data before sending the data to business partners or registering on a blockchain. Few even bother possessing their private and public keys, which are the basis of your wallet address.

Asymmetric encryption is something we use daily when browsing the internet with HTTPS (TLS). We send encrypted data to the servers, encrypting it by using the public key of those servers. Only those who have the private key, the server, can decrypt the data, and vice versa. However the algorithm used is RSA which is different from the algorithm used by Bitcoin and Ethereum (Elliptic curve).

So, how can you use the same Bitcoin algorithm and have the same security so that only the recipient, or ourselves, can decrypt the data we sent?

To help solve this problem, I developed an open source library called EC Crypto (https://github.com/novatrixtech/eccryptonx). Using resources available from Ethereum and Decred, it is possible to create applications that make it possible to encrypt data so that only the owner of the wallet with his private key can decrypt it, using only the public key of the recipient’s wallet.

With this library and the applications that will be created from it, anyone can send or register data securely on a Blockchain.

Below a simple example in Go:

secretText := “Hal Finney was Satoshi Nakamoto.” pubKeyIKnowInHex := “0433e59593e3ac1dbf8e7167250c49f5a75f38d37afacc71df97755f3d56cd436c68ee7190f03a9eacddf88911226f1464694e2b9397e1c023aea09efc18591e00” encryptedText, err := EncryptECWithPublicKey(pubKeyIKnowInHex, secretText)

if err != nil {

log.Fatal(“Error encrypting text: “, err)

} log.Printf(“Encrypted text in hexa: %x

”, encryptedText)

In order to decrypt it the recipient must use this simple code:

myPrivateKey := “MySuperSecretPrivateKey1234567890” //Remember: you must recover private key in a secure way ;) decryptedText, err := DecryptWithECPrivateKey(myPrivateKey, encryptedText) if err != nil {

log.Fatal(“Error decrypting text: “, err)

} log.Println(“In “, secretText, “ — Out “, decryptedText)



Below is the link to the source code for a complete example Go application for Mac and Linux users at this address:

https://github.com/jeffprestes/verificaassinaturacrypto/tree/master/cryptographing

Stay tuned for news about an application with screens. See you!
OpenVDF: Modular Squaring Unit
Tags: Hardware Design, Asics, Cryptography, Semiconductors, Blockchain

In the first post of this series we presented an ASIC architecture for the Öztürk modular squaring unit. We then studied the various components required to build this circuit, looking for the most optimal way to implement each of the pieces.

In this final post of the series we will put the pieces together and present an implementation of the modular squaring unit along with some initial results.

We can now walk through the various components of the design above and summarize our design and implementation parameters.

Partial product generation (PPG): We looked at using either AND gates or multipliers (standard unsigned or Booth encoded) and evaluated the approaches in the context of the entire squaring operation. The results point to using AND gates and leaving the CSA trees intact.

Squaring and reduction CSA trees: We looked at various ways to code CSAs (explicit trees vs “+”) as well as building single level or multi-level trees. For this design the results point to using single level trees coded with “+”.

Squaring and reduction CPAs: For CPAs we considered various style adders (ripple carry, Brent-Kung, Kogge-Stone, “+”). With modern tools the best approach is to simply use “+” and let the tools optimize for the design constraints.

Ideal bitwidth size: In the polynomial multiplier we can choose the size of the coefficients. The FPGA design used 16 bits to take advantage of the high speed 17-bit DSP. For the ASIC we can size resources to fit the need. Nonetheless, 16-bits turned out to be within the margin of error for optimal and so we decided to continue with that value.

Lookup Tables: The FPGA design utilized 8 bit addressable lookup tables to store the reduction constants in order to take advantage of the on-chip low latency BRAM resources. Since we assume a fixed modulus and no longer have the fixed-resource limitations, the ASIC design makes use of 1-bit reduction lookups. Because they are 1-bit, on average 50% of the reduction values are 0 and can be optimized away, while the other 50% manifest as a single AND gate and can be merged with the reduction accumulator trees. We did consider larger lookup tables in the ASIC context but for a fixed modulus 1-bit was the preferred approach.

In summary, the design parameters:

Results

Below you’ll find the relative performance of the Öztürk modular squaring unit with a baseline of 256-bits:

For production use of VDFs we are currently evaluating a modulus of 2048-bits or larger. In concrete terms, a 2048-bit MSU is expected to perform one square and reduce in the low single digits of nanoseconds with a size of ~25mm². In a future blog post we’ll explore the initial power estimates, as well as identify some opportunities for power reduction.

Source Code

Source code for the designs presented here are available on GitHub at supranational/hardware and is licensed under the Apache 2 license.

Acknowledgements

We’d like provide a special acknowledgement to Synopsys® for their support of this work.
Reflections of Steve Asher, Creator of Industrial Blockchain
Tags: Technology, Cryptography, Compliance, Audit, Blockchain

By Steve Asher

I wrote Industrial Blockchain [IBC] to solve a particular problem. I’d written [and patented] a cryptographic key escrow procedure called Asymmetric Blockchain. It needed a blockchain, and none of the ones I could see suited my purpose. I didn’t want my invention tied to a variably priced token, so I put the project on hold.

Then I found a use case for the blockchain in my enterprise systems, isCompliant and Mineral Blue. isCompliant is a compliance system. It models the ISO quality standards as modules in a business system. Mineral Blue is an industrial safety system. It guides engineers through isolations and allows workers to tag on and off of hazardous tasks. Both have the potential to save lives. Both needed an immutable ledger: a record that would stand up in court. Right now, we know companies whose executives are facing prison sentences, because provable records weren’t kept.

I looked at Hyperledger, but it was too much. I needed a scalpel. I wanted something with a minimal footprint, that I could integrate with any system with just a few lines of code.

So I dusted off Asymmetric Blockchain, and wrote my own blockchain as a research project. Then I programmed my own enterprise systems to use it. That worked perfectly. Literally, three lines of code. This caused a bit of a stir. At the time, it was all about currencies. There were almost no examples of working industrial blockchain solutions. I then met Martin McGinty CEO of Blockboxx and the rest is history.

Marty spent the past year building the business, and providing the tools that customers need to easily integrate to blockchain: a website, proper documentation, pricing, partnerships with EY and Google. Together they make a raw system into a commercial product. The blockchain’s development is ongoing, as most are — but it runs like clockwork. Our enterprise systems have been writing to a private chain now for almost two years, so it’s pretty well tested.

In the meantime, we have live clients. Ezyid and Image Chain are both writing to their own private blockchains on Google Cloud Platform. Google have been fantastically helpful.

Our product roadmap is now pretty clear. Mark Lockett our Lead Developer is busy converting my original Windows code to run on Linux. Kieran Mesquita has written a smart contract plug-in and consensus code based on the Raft algorithm. I’ve got my own consensus mechanism for PoA blockchains called Hosho, which you’ll be hearing about soon.

This is all a big risk for us. We could just be using Hyperledger, or a wrapper on Hyperledger like Xooa, but we’ve chosen to compete at the level of platforms. IBC is simple and light. That’s our unique selling point. And the three lines of code. You really can write to IBC with three lines of code.

When industry 4.0 takes off — and it will — then we’ll be ready. We have one of the few working, tested PoA blockchains globally, and it was built here.

Steve Asher

CTO

Blockboxx
Did Schnorr destroy RSA? Show me the factors.
By: Steve Weis
Tags: Cryptography

A recent paper, “Fast Factoring Integers by SVP Algorithms” by Claus P. Schnorr, claims significant improvements in factoring that “destroys the RSA cryptosystem”. If true, it would be practical to demonstrate on well known RSA factoring challenges.

Update: Schnorr withdrew this paper on June 5th, 2021.

Update v2: Schorr’s paper is back online as of July 8th, 2021 with a new eprint submission.

No such demonstration has been made. Without this, assessing the correctness of the paper will have to wait for reviewers to wade through the details and give their feedback.

Claus buries the lede.

Big, If True

This paper drew the attention of many cryptographers because Schnorr, notable for Schnorr signatures, is an accomplished cryptographer who has worked on factoring problems for at least a decade. There have been significant improvements in factoring over the last 20 years, so a big new result from a known researcher is at least plausible.

Initial misspellings and version inconsistencies led to speculation that the submission was a prank. However, the provenance of the paper has been confirmed: it is indeed Schnorr.

Claimed Factoring Runtime

Schnorr’s paper claims to factor 400-bit moduli in 4.2·10⁹ operations and 800-bit moduli in 8.4·10¹⁰ operations. The 800-bit claims would be 36 bits of work.

That would be demonstrable on commodity hardware.

For comparison, the two most recent factoring records using CADO-NFS are:

The Crypto 2020 paper “Comparing the Difficulty of Factorization and Discrete Logarithm: a 240-digit Experiment” covers some of these results.

Show Me the Factors

According to the claims in Schnorr’s paper, it should be practical to set significant new factoring records. There is a convenient 862-bit RSA challenge that has not been factored yet. Posting its factors, as done for the CADO-NFS team’s records, would lend credence to Schnorr’s paper and encourage more review of the methodology.

Followup

Several critiques of this post pointed out that asking for someone to break a record or even implement their code is a high bar for essentially a theory paper. I agree with that in general and wouldn’t, for instance, expect Shamir to build a TWIRL device to prove it works. This Schnorr paper is different because it makes a concrete runtime claim which is orders of magnitude faster than a record set just last year, which took 2700 years of CPU time.

This paper has been circulating for at least 2 years and so far, the nearest implementation is this “Factoring Integers via Lattice Algorithms” code.

Several people smarter than me are trying to reproduce Schnorr’s results and check his work, and have already raised issues which I’ll append here.

Epilogue

Schnorr ultimately withdrew this paper in June 2021.

Not so destroyed.

Epilogue Epilogue

Schnorr’s paper is back online in July 2021 with a new eprint link: https://eprint.iacr.org/2021/933
Why This Crypto Analyst Is Betting Big On the Future of Ethereum (ETH)
Tags: Cryptocurrency, Cryptography, Crypto, Cryptocurrency News, Cryptocurrency Investment

Why This Crypto Analyst Is Betting Big On the Future of Ethereum (ETH) Carbonyte Jul 23·2 min read

Post Elon Musk’s comments of owning Ethereum (ETH), the world’s second-largest cryptocurrency has surged more than 10% in the last 36 hours. At press time, Ethereum is trading 4.70% up moving above its crucial resistance of $2000.

Although Ethereum has corrected more than 50% from its all-time high, analysts are still positive about its future. Popular crypto analyst Lark Davis explains why he is so optimistic citing multiple bull-case scenarios.

Citing the Ethereum 2.0 upgrade, Davis notes that the so-called “Triple Halving” will be a significant economic event for the asset. Explaining the math behind the prediction, the analyst notes that the daily block rewards paid out to Ethereum (ETH) miners at present are 12,800 ETH. The analyst notes:

“Every day there is 25.6 million dollars a day worth of sell pressure for Ethereum! And because we are in a proof of work system miners are constantly selling, dumping on the market. Why? Because miners run a cash business. We are in a mine and dump economy for ETH”.

Ethereum 2.0 Will Bring a fundamental shift

The analyst also notes that the transition to Ethereum 2.0 will fundamentally change Ethereum forever. The Merger between the two blockchains will put an end to the existing Proof-of-Work (PoW) consensus mechanism while adopting the Proof-of-Stake (PoS).

Davis notes that this will be a big transition from a dump economy to a stake and re-stake economy. The Proof-of-Stake (PoS) consensus mechanism encourages investors to hold more and earn more.

Another major aspect the analyst notes is that the PoS transition will cut down emissions by 90%. Thus, the daily block rewards will reduce to 1280 ETH and inflation will also be one-tenth from the existing 4.3% to 0.43%.

Davis also points out the fee-burning EIP-1559 mechanism which will make ether scarce and help to shoot its price north. All these have been coupled with the surge of the Ethereum blockchain activity due to the rising demand for DeFi and NFTs. With all this, Davis arrives at a perfect formula to take the ETH price to the MOON.
What is Diffie — Hellman key exchange algorithm? and How it works? — in easy words
By: Anirudha Taliyan
Tags: Key Exchange, Diffie Hellman, Hacking, Cryptography, Programming

What is Diffie — Hellman key exchange algorithm? and How it works? — in easy words Anirudha Taliyan Jul 23·2 min read

Diffie-Hellman Key Exchange Algorithm or Key agreement algorithm is used to generate the same (symmetric) private cryptographic key at both sender or receiver to securely communicate. It was developed by Whitfield Diffie and Martin Hellman in 1976 and later it was modified/improved by Government Communications Headquarters, commonly known as GCHQ in the United Kingdom, and kept classified.

How Diffie-Hellman Key Exchange Algorithm works?

For the sake of simplicity, let’s consider an analogy here, Let’s assume that Alice and Bob want to communicate securely on the internet.

They both have a private key and they must need to agree on two prime numbers N and X, Where N>X. And both these numbers are publically visible. Note: N can’t be too large because it would reduce the speed and can’t be too small because it would be easy to brute force N and X to eventually get Alice’s private key “A”. Alice takes X from the public and raises it by its secret key/number A. i.e. (Xᴬ)mod N. Similarly, Bob takes X from the public and raises it by its secret key/number A. i.e. (Xᴮ)mod N. Then, they both share these newly created keys, and Alice raised the whole Bob’s newly created key by its private key A. i.e. (Xᴮ)ᴬmod N. Consequently, Bob’s do the same with Alice’s newly created Key. (Xᴬ)ᴮmod N.

Ignore my Drawing Skills LOL

6. A simple power multiplication rule of mathematics states that “Powers can be multiplied and it won’t bother the end result”. And this same thing will happen in Alice and Bob’s scenario.

7. Now the final key created at Alice’s side is Xᴬᴮmod N. And that of Bob is Xᴬᴮmod N.

8. Notice that both keys are exactly the same, Now we’re done here, Now Alice and Bob can communicate easily by encrypting the messages with this same private key.

Summing Up:

I hope you get a basic idea of How Diffie — Hellman key exchange algorithm works. However, you can read more from Wikipedia in Details.

Anyways, Thanks for reading, If you have any suggestions, do let me know in the comments.

Have a beautiful day! Peace Out!
RSA Cryptography: The Math and Logic Behind Secure Data Transmission
By: Quantum Outreach
Tags: Rsa, Cryptography, Technology, Science

THE MORE “GENERAL” EXPLANATION

Take a look at attached diagram above, Figure 2.

We have two people, Bob and Alice. Alice wants to send Bob a piece of confidential information (represented by the box). However, hackers are lurking around, so Alice uses public key encryption to ensure that Bob gets hold of the information safe and sound.

Bob sends Alice his lock. Think of this as a virtual fingerprint that Alice will attach to the piece of information so that only Bob is authorized to access it. Bob has the corresponding key to unlock his lock; he is the only person with that key.

Alice then receives his lock, and attaches it to the parcel of information. She then encodes it and sends it off to Bob.

Bob receives the information, and uses his key (that corresponds to his lock), in order to access the information.

Without public key encryption, the lock and key mechanism that Bob and Alice uses will not be present. This leaves the information parcel as a “free for all”, meaning that any attacker can easily intercept the parcel and access it.

(Katz et al., n.d.)
Algorand Blockchain Basics — Decentralized and for Developers
By: Russ Fustino
Tags: Developer, Algorand, Cryptography, JavaScript, Blockchain

Are you looking for introductory level content for an overview of the Algorand Blockchain and developer tools? This session is on Algorand Blockchain Basics — Decentralized for Developers and presented by Algorand’s Russ Fustino, Technical Specialist and Sergey Gorbunov, Head of Cryptography. This video was recorded live at Hack The North, the largest hackathon in Canada. Hosted at the University of Waterloo, the event brought over 1500 students from around the world to work together on teams competing to build the best project in 36 hours.

Session section time marks are below. We start with a session overview, resources, and the importance of blockchain.

The section on Blockchain Basics covers: what a blockchain is and blockchain properties as well as examples of blockchain applications & domains.

The section on Algorand Consensus Model includes an explanation of Pure Proof of Stake, and the key ideas around block creation, as well as Verifiable Random Functions. Algorand is a Pure Proof of Stake Blockchain which scales to billions of users, with 5 second block confirmation times and 1000 transactions per second at a transaction cost of less than a penny!

We discuss and demonstrate various developer tools in the remainder of the session. This includes walkthroughs of several solutions built with our SDKs in Javascript, Java, Go and Python. Other tools shown include AlgoExplorer, TestNet Dispenser, the Goal command line utility, private networks, and the use of the REST API demonstrated through agnostic tools such as Postman. Use of the NoteField on transactions is also discussed when building Layer 2 solutions.

The session covers:

00:00 Importance of Blockchain and session overview with useful links

06:46 Blockchain Basics

17:20 What is Algorand?

19:34 Algorand’s Consensus Model

26:40 Algorand Foundation

27:25 TestNet

28:06 Process Architecture

30:16 APIs, SDKs and Command Line Tools

32:30 Purestake

33:34 Demo of developer tools, SDKs and code

45:13 Oskar Krig on Purestake

46:05 Planned Developer Features

47:01 Summary

Resources:

Link to PowerPoint PPT:

Lab Exercise and code shown in the presentation: https://github.com/algorand-devrel/hackathon
Motification Tribe — Top 3 Hot Bids On Rarible
By: Sushant Gandhi
Tags: Cryptocurrency, Cryptography, Crypto, Cryptocurrency News, Cryptocurrency Investment

What are NFT’s? — Non-fungible tokens are not at all easy to explain. It’s like explaining “what is mp3”. It’s a bit wider thing for all of us. You can bid for NFT’s on platforms like Rarible.

Here, this week top five “HOT BIDS” on Rarible are: —

Cryptables x Neon | Series 1 — Card 1 — “Corn Cassette” by Creator named “Neon”

The creator is living on this platform for approximately 28 weeks now. Also, the account shows a ‘tick mark’ so the creator is a verified user. The latest work of Neon is this NFT on Bitcoin dedicated to the dreamer of dreamer none other than ‘Satoshi Nakamoto’.

Image source: Rarible

2. Taste By Rariboy

The owner recently joined the platform. The latest masterpiece NFT is inspired by the power of “Black Excellence” by Tyga(creator) and open for bidding.

Image source: Rarible

3. CryptoCupcake #001 By SnaileXpress

The owner of CryptoCupcake NFT is SnaileXpress but its creator is Roger Kilimanjaro. The owner is living on Rarible for over 3+ days now and have present a number of amazing NFT’s in video format(mp4)

Image source: Rarible

We have covered the top 3 “HOT BIDS” NFT’s on Rarible.

Author Bio: My name is Sushant Gandhi. I am NFT Blogger. I have an interest in cryptocurrencies, books, music and gaming. You can join the Motification Tribe too.
Cryptography, Objective Of Cryptography and Types of Cryptography
By: Pushpak Naliyadhara
Tags: Hash Functions, Pushpak Naliyadhara, Types Of Cryptography, Symmetric Key, Cryptography

Cryptography

Cryptography is a technique of encrypting the plain (clear) text data into a scrambled code.This encrypted data is sent over public or private network toward destination to ensure the confidentiality. This encrypted data known as "Ciphertext" is decrypted at the destination for processing.Strong encryption keys are used to avoid key cracking.

Objective Of Cryptography

Confidentiality:

Information can only be accessed by the person for whom it is intended and no other person except him can access it.

Integrity:

Information cannot be modified in storage or transition between sender and intended receiver without any addition to information being detected.

Non-repudiation:

The creator/sender of information cannot deny his or her intention to send information at later stage.

Authentication:

The identities of sender and receiver are confirmed. As well as destination/origin of information is confirmed.

Types of Cryptography

Symmetric key cryptography

Symmetric key cryptography uses a single key for both encryption and decryption.In symmetric encryption, the plaintext is encrypted and is converted to the ciphertext using a key and an encryption algorithm. While the cipher text is converted back to plain text using the same key that was used for encryption, and the decryption algorithm.symmetric encryption primarily used for privacy and confidentiality.

Asymmetric key cryptography

Asymmetric key cryptography two keys are used. One key is publicly known to everyone while one key is kept secret and is used to encrypt the data by sender hence it is also called Public Key cryptography.

Each sender uses its secret key (private key) for encrypting its data before sending. The receiver uses the respective public key of the sender to decrypt the data. Asymmetric encryption primarily used for authentication, non-repudiation and key exchange.

Hash function

A cryptographic hash function is a hash function which is considered practically impossible to invert, that is, to recreate the input data from its hash value alone.These one-way hash functions. The input data is often called the message, and the hash value is often called the message digest or simply the digest. Hash Functions uses a mathematical transformation to irreversibly “encrypt” information, providing digital fingerprint.primarily used for message integrity.