Jump to content
Welcome, welcome! Come in and register, and have some developer coffee. ūüĎ®‚ÄćūüíĽ √ó

What is language interoperability and when/why you need it?


Recommended Posts

Most developer/programmer when they heard about cryptography and wants to implement them, they faced 2 major problems, which are I do understand them, but it's too risky to implement on my own, I can't implement them , I do understand them, it's too risky to implement on my own, I can't implement them so I will use an outdated version of them. 

These 2 major problems are what developer/programmer faces every time if they want to implement certain cryptographic features in them like password hashing, key exchange, digital signature(public key cryptography) and symmetric encryption. The problems is they are not expert so do I.

There's a solution to this, you should really implement cryptography though not all features or functions will be needed by you when building stuffs. Hey, at the least, you need to know how to properly deal and store with passwords don't ya? Regardless of how it was for you, you need to step out of your technical comfort zone and start to explore the solutions.

I don't want to talk about passwords again as I think I have talked about that in this website. I would like to talk about language interoperability, what is it and why you need it? 

Language interoperability or in short language interop is a special or specific skill in coding that was not necessarily needed by majority of the programmer but it's consider late if you want to use them and u don't have the skills to do it as it takes time to learn stuffs which includes trial and error.

Language interop is actually a hidden feature that exists in many of the major programming languages. It is a special feature in any programming languages that allows you to call specific function let's say C coded *.dll[Dynamic Link Library]/*.dylib/*.so when you are using other programming languages. This is incredibly useful in some given cases however.. you may bash your head onto monitor or keyboard when you are learning these stuffs.

Let's look at an example, let's assume you want to process or hash the passwords correctly so you don't need to bear any responsibility as a developer, you don't really know how to do it properly.. If you don't have the skills in language interop.., you might just end up storing the passwords in normal form or weak hashed form. However, if you do have the skills in language interop, the problems that I stated above does not matter to you, you can just take the .dll/.dylib/.so that coded in different language than the one u are using right now and just use them normally. 

The same scenarios can also be applied if you want really cool and interesting features in your application, but those features exist only in different language coded .dll/.dylib/.so , that's the reason why u need to learn how to use language interop. 

(I am not an expert on language interoperability, if there's not enough description feel free to educate each other in this forum)

Edited by chrono_legionnaire
  • Like 1
Link to post
Share on other sites

Thanks for sharing.  Yeah, it is called P/Invoke in .NET.  Heh, we use DllImport in C#.

It is necessary to use .dll if the features we want are not available right away. For example, I have posted .dll written in ASM on how to detect CPU family and certain extension (e.g. AVX, SSE, MMX), so that HLL could use them.  

You're right , we are not expert so there is concern to implement the encryption on our own.  I always think cryptography is particularily the responsibility and field of expertise of western countries. 

All  in all, it is a good start for you, Mr Chew. Not forgotten to mention your written English is outstanding.  I believe cryptography has market but personally I think , unlike western counterparts, Asians have lower awareness about privacy and data protection, might due to individualism in more openminded western countries. We as Asians used to live in groups so privacy may not be a concern-- here: stronger privacy concern may attribute to greater demand for cryptography. What do you think?

Link to post
Share on other sites

I use DLLImport as I think that it's the easiest way to use language interoperability in C#(I am a total beginner¬†ūüėā)

When we talk about privacy, obviously that there're many levels to it. Like how private you are talking?

In general there're several levels of privacy that I can think of (The level of privacy depending on how you understand it):
1. You want to have privacy even if you are using big tech products(Which is not totally doable, the best one can do is have 5% of privacy out of 100% of non privacy oriented environment)
2. You want to have privacy to people who you don't know but don't mind to not have privacy if it's someone you know like friends/family/colleagues
3. You want to have privacy that's somehow similar to criminals(both words meaning and a "weirdo" to most people as they might think only criminals want it) because you might believe that unless u act like a criminal, otherwise my personal privacy can't be ensured. 

The 1st privacy based product can be protonmail, tutanota such emails provider which they can't read your messages. The 2nd privacy based product can be end to end encryption like Signal/WhatsApp or emails provider like protonmail/tutanota. The 3rd privacy in general consists of quite controversial product like TOR browser[refers to deep web](Not that controversial to me), TOR darkweb(This is controversial), I2P(This is more controversial because by using this, you are essentially setting up ur device[refers to personal device] to be a TOR darkweb node in an automatically way..). 

There're several countries like Germany(No offense) based on what I know they can set up their node as TOR deep web node but can't set up their node as TOR dark web node. I think I will just be providing services that is on the 1st and 2nd privacy level.

Maybe that the severity of 3rd privacy level is higher than 1st and 2nd privacy level and I personally believe that as long as privacy based/focused product keep on created by people, government agencies are forced to find ways to break them and keep those ways secret if they successfully find them. For example(No offense), criminals who lurk on dark web keep on getting caught by FBI/CIA/NSA. So there's definitely ways for them to catch these bad guys.

It's all depending on how one decides to use cryptography. I use cryptography for confidentiality/privacy of information/data. There might be a possibility others use it for ease of use but sacrifices confidentiality/privacy of information/data(I don't need to write out which company). There might be a possibility others use it for anonymizing purposes.

In general I guess what you are saying makes sense but there're a lot of things to consider when we really talk about privacy. Cryptography is just the tip of the iceberg in privacy. There're other stuffs like decentralization and anonymizing which also contribute to privacy. Privacy as a whole is a really broad topic. 

Link to post
Share on other sites
On 6/26/2021 at 11:22 AM, chrono_legionnaire said:

I use DLLImport as I think that it's the easiest way to use language interoperability in C#(I am a total beginner¬†ūüėā)

When we talk about privacy, obviously that there're many levels to it. Like how private you are talking?

In general there're several levels of privacy that I can think of (The level of privacy depending on how you understand it):
1. You want to have privacy even if you are using big tech products(Which is not totally doable, the best one can do is have 5% of privacy out of 100% of non privacy oriented environment)
2. You want to have privacy to people who you don't know but don't mind to not have privacy if it's someone you know like friends/family/colleagues
3. You want to have privacy that's somehow similar to criminals(both words meaning and a "weirdo" to most people as they might think only criminals want it) because you might believe that unless u act like a criminal, otherwise my personal privacy can't be ensured. 

The 1st privacy based product can be protonmail, tutanota such emails provider which they can't read your messages. The 2nd privacy based product can be end to end encryption like Signal/WhatsApp or emails provider like protonmail/tutanota. The 3rd privacy in general consists of quite controversial product like TOR browser[refers to deep web](Not that controversial to me), TOR darkweb(This is controversial), I2P(This is more controversial because by using this, you are essentially setting up ur device[refers to personal device] to be a TOR darkweb node in an automatically way..). 

There're several countries like Germany(No offense) based on what I know they can set up their node as TOR deep web node but can't set up their node as TOR dark web node. I think I will just be providing services that is on the 1st and 2nd privacy level.

Maybe that the severity of 3rd privacy level is higher than 1st and 2nd privacy level and I personally believe that as long as privacy based/focused product keep on created by people, government agencies are forced to find ways to break them and keep those ways secret if they successfully find them. For example(No offense), criminals who lurk on dark web keep on getting caught by FBI/CIA/NSA. So there's definitely ways for them to catch these bad guys.

It's all depending on how one decides to use cryptography. I use cryptography for confidentiality/privacy of information/data. There might be a possibility others use it for ease of use but sacrifices confidentiality/privacy of information/data(I don't need to write out which company). There might be a possibility others use it for anonymizing purposes.

In general I guess what you are saying makes sense but there're a lot of things to consider when we really talk about privacy. Cryptography is just the tip of the iceberg in privacy. There're other stuffs like decentralization and anonymizing which also contribute to privacy. Privacy as a whole is a really broad topic. 

Wow-some.  What a knowledgeable reply!

  • Haha 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...